-
-
Notifications
You must be signed in to change notification settings - Fork 0
/
index.js
130 lines (106 loc) · 2.45 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
/*!
* lazy-utils <https://github.com/tunnckoCore/lazy-utils>
*
* Copyright (c) 2016 Charlike Mike Reagent <@tunnckoCore> (http://www.tunnckocore.tk)
* Released under the MIT license.
*/
'use strict'
/**
* Module dependencies
*/
var utils = require('lazy-cache')(require)
/**
* Temporarily re-assign `require` to trick browserify and
* webpack into reconizing lazy dependencies.
*
* This tiny bit of ugliness has the huge dual advantage of
* only loading modules that are actually called at some
* point in the lifecycle of the application, whilst also
* allowing browserify and webpack to find modules that
* are depended on but never actually called.
*/
var fn = require
require = utils // eslint-disable-line no-undef, no-native-reassign, no-global-assign
/**
* Lazily required module dependencies
*/
/**
* > Extend object `a` with the properties of object `b`.
* See [extend-shallow][] for more.
*
* @name .extend
* @param {Mixed} `a`
* @param {Mixed} `b`
* @return {Object}
* @api public
*/
require('extend-shallow', 'extend')
/**
* > See [is-extendable][] for more.
*
* @name .isExtendable
* @param {Mixed} `val`
* @return {Boolean}
* @api public
*/
require('is-extendable')
/**
* > See [lazy-arrayify][] or [isarray][] for more.
*
* @name .isArray
* @param {Mixed} `val`
* @return {Boolean}
* @api public
*/
require('isarray', 'isArray')
/**
* > Returns true if the value is an object and not an array or null.
* See [isobject][] for more.
*
* @name .isObject
* @param {Mixed} `val`
* @return {Boolean}
* @api public
*/
require('isobject', 'isObject')
/**
* > Returns true if the value is a buffer.
* See [is-buffer][] for more.
*
* @name .isBuffer
* @param {Mixed} `val`
* @return {Boolean}
* @api public
*/
require('is-buffer')
/**
* > Arrayify. Returns empty array on **falsey** values.
* See [lazy-arrayify][] for more.
*
* @name .arrayify
* @param {Mixed} `val`
* @return {Array}
* @api public
*/
require('lazy-arrayify/arrayify', 'arrayify')
/**
* > Deeply mix the properties of objects into the first object.
* Like merge-deep, but doesn't clone.
* See [mixin-deep][] for more.
*
* @name .merge
* @param {Mixed} `a`
* @param {Mixed} `b`
* @param {Mixed} `c`
* @return {Object}
* @api public
*/
require('mixin-deep', 'merge')
/**
* Restore `require`
*/
require = fn // eslint-disable-line no-undef, no-native-reassign, no-global-assign
/**
* Expose `utils` modules
*/
module.exports = utils