ut2 1.8.0 → 1.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (92) hide show
  1. package/dist/ut2.js +116 -143
  2. package/dist/ut2.js.map +1 -1
  3. package/dist/ut2.min.js +1 -1
  4. package/dist/ut2.min.js.map +1 -1
  5. package/es/before.js +2 -1
  6. package/es/clamp.js +7 -6
  7. package/es/conformsTo.js +2 -1
  8. package/es/countBy.js +2 -2
  9. package/es/groupBy.js +2 -2
  10. package/es/internals/baseDebounce.js +15 -14
  11. package/es/internals/compare.js +19 -26
  12. package/es/internals/createExtremum.js +4 -3
  13. package/es/internals/createForEach.js +2 -2
  14. package/es/internals/createReduce.js +2 -2
  15. package/es/internals/getTagWithBugfix.js +7 -7
  16. package/es/internals/helpers.js +1 -1
  17. package/es/internals/isEqualDeep.js +4 -4
  18. package/es/internals/native.js +9 -6
  19. package/es/internals/nodeUtil.js +4 -2
  20. package/es/invert.js +2 -2
  21. package/es/isBlob.js +2 -2
  22. package/es/isEmpty.js +2 -2
  23. package/es/isEqual.js +2 -1
  24. package/es/isMatch.js +5 -5
  25. package/es/isUndefined.js +3 -1
  26. package/es/keyBy.js +2 -2
  27. package/es/max.js +4 -3
  28. package/es/merge.js +6 -5
  29. package/es/min.js +4 -3
  30. package/es/nth.js +2 -1
  31. package/es/orderBy.js +5 -4
  32. package/es/partition.js +2 -2
  33. package/es/toString.js +2 -2
  34. package/lib/before.js +2 -1
  35. package/lib/clamp.js +7 -6
  36. package/lib/conformsTo.js +2 -1
  37. package/lib/countBy.js +2 -2
  38. package/lib/groupBy.js +2 -2
  39. package/lib/internals/baseDebounce.js +15 -14
  40. package/lib/internals/compare.js +18 -27
  41. package/lib/internals/createExtremum.js +4 -3
  42. package/lib/internals/createForEach.js +2 -2
  43. package/lib/internals/createReduce.js +2 -2
  44. package/lib/internals/getTagWithBugfix.js +6 -6
  45. package/lib/internals/helpers.js +1 -1
  46. package/lib/internals/isEqualDeep.js +3 -3
  47. package/lib/internals/native.js +8 -5
  48. package/lib/internals/nodeUtil.js +4 -2
  49. package/lib/invert.js +2 -2
  50. package/lib/isBlob.js +1 -1
  51. package/lib/isEmpty.js +2 -2
  52. package/lib/isEqual.js +2 -1
  53. package/lib/isMatch.js +4 -4
  54. package/lib/isUndefined.js +3 -1
  55. package/lib/keyBy.js +2 -2
  56. package/lib/max.js +4 -3
  57. package/lib/merge.js +6 -5
  58. package/lib/min.js +4 -3
  59. package/lib/nth.js +2 -1
  60. package/lib/orderBy.js +5 -4
  61. package/lib/partition.js +2 -2
  62. package/lib/toString.js +1 -1
  63. package/package.json +1 -1
  64. package/types/countBy.d.ts +7 -5
  65. package/types/difference.d.ts +2 -2
  66. package/types/groupBy.d.ts +7 -5
  67. package/types/internals/compare.d.ts +4 -6
  68. package/types/internals/createExtremum.d.ts +2 -2
  69. package/types/internals/native.d.ts +3 -0
  70. package/types/internals/types.d.ts +9 -2
  71. package/types/intersection.d.ts +3 -3
  72. package/types/invert.d.ts +1 -1
  73. package/types/keyBy.d.ts +7 -5
  74. package/types/max.d.ts +5 -5
  75. package/types/merge.d.ts +3 -3
  76. package/types/min.d.ts +4 -4
  77. package/types/omitBy.d.ts +1 -1
  78. package/types/orderBy.d.ts +8 -6
  79. package/types/partition.d.ts +7 -5
  80. package/types/pickBy.d.ts +1 -1
  81. package/types/reduce.d.ts +1 -1
  82. package/types/reduceRight.d.ts +1 -1
  83. package/types/times.d.ts +1 -1
  84. package/types/union.d.ts +2 -2
  85. package/types/uniq.d.ts +2 -2
  86. package/types/xor.d.ts +3 -3
  87. package/es/internals/isPrototype.js +0 -12
  88. package/es/internals/specialKeys.js +0 -17
  89. package/lib/internals/isPrototype.js +0 -14
  90. package/lib/internals/specialKeys.js +0 -19
  91. package/types/internals/isPrototype.d.ts +0 -9
  92. package/types/internals/specialKeys.d.ts +0 -9
package/es/toString.js CHANGED
@@ -1,9 +1,9 @@
1
- import { symbolProto } from './internals/native.js';
1
+ import { symbolProto, nativeUndefined } from './internals/native.js';
2
2
  import isArray from './isArray.js';
3
3
  import isNil from './isNil.js';
4
4
  import isSymbol from './isSymbol.js';
5
5
 
6
- var symbolToString = symbolProto ? symbolProto.toString : undefined;
6
+ var symbolToString = symbolProto ? symbolProto.toString : nativeUndefined;
7
7
  function baseToString(value) {
8
8
  if (typeof value === 'string') {
9
9
  return value;
package/lib/before.js CHANGED
@@ -2,6 +2,7 @@
2
2
 
3
3
  var defaultTo = require('./defaultTo.js');
4
4
  var helpers = require('./internals/helpers.js');
5
+ var native = require('./internals/native.js');
5
6
  var toNumber = require('./toNumber.js');
6
7
 
7
8
  function before(n, func) {
@@ -15,7 +16,7 @@ function before(n, func) {
15
16
  result = func.apply(this, arguments);
16
17
  }
17
18
  if (n <= 1) {
18
- func = undefined;
19
+ func = native.nativeUndefined;
19
20
  }
20
21
  return result;
21
22
  };
package/lib/clamp.js CHANGED
@@ -1,25 +1,26 @@
1
1
  'use strict';
2
2
 
3
3
  var defaultTo = require('./defaultTo.js');
4
+ var native = require('./internals/native.js');
4
5
  var toNumber = require('./toNumber.js');
5
6
 
6
7
  var clamp = function (number, lower, upper) {
7
- if (upper === undefined) {
8
+ if (upper === native.nativeUndefined) {
8
9
  upper = lower;
9
- lower = undefined;
10
+ lower = native.nativeUndefined;
10
11
  }
11
- if (upper !== undefined) {
12
+ if (upper !== native.nativeUndefined) {
12
13
  upper = defaultTo(toNumber(upper), 0);
13
14
  }
14
- if (lower !== undefined) {
15
+ if (lower !== native.nativeUndefined) {
15
16
  lower = defaultTo(toNumber(lower), 0);
16
17
  }
17
18
  number = toNumber(number);
18
19
  if (number === number) {
19
- if (upper !== undefined) {
20
+ if (upper !== native.nativeUndefined) {
20
21
  number = number <= upper ? number : upper;
21
22
  }
22
- if (lower !== undefined) {
23
+ if (lower !== native.nativeUndefined) {
23
24
  number = number >= lower ? number : lower;
24
25
  }
25
26
  }
package/lib/conformsTo.js CHANGED
@@ -1,6 +1,7 @@
1
1
  'use strict';
2
2
 
3
3
  var allKeys = require('./allKeys.js');
4
+ var native = require('./internals/native.js');
4
5
  var isNil = require('./isNil.js');
5
6
 
6
7
  var conformsTo = function (object, source) {
@@ -16,7 +17,7 @@ var conformsTo = function (object, source) {
16
17
  var key = props[i];
17
18
  var predicate = source[key];
18
19
  var value = object[key];
19
- if ((value === undefined && !(key in object)) || !predicate(value)) {
20
+ if ((value === native.nativeUndefined && !(key in object)) || !predicate(value)) {
20
21
  return false;
21
22
  }
22
23
  }
package/lib/countBy.js CHANGED
@@ -6,8 +6,8 @@ var createIteratee = require('./internals/createIteratee.js');
6
6
  var countBy = function (collection, iteratee) {
7
7
  var result = {};
8
8
  var internalIteratee = createIteratee(iteratee);
9
- forEach(collection, function (item) {
10
- var key = internalIteratee(item);
9
+ forEach(collection, function (item, index, arr) {
10
+ var key = internalIteratee(item, index, arr);
11
11
  if (key in result) {
12
12
  ++result[key];
13
13
  }
package/lib/groupBy.js CHANGED
@@ -8,8 +8,8 @@ var groupBy = function (collection, iteratee) {
8
8
  if (iteratee === void 0) { iteratee = identity; }
9
9
  var result = {};
10
10
  var internalIteratee = createIteratee(iteratee);
11
- forEach(collection, function (item) {
12
- var key = internalIteratee(item);
11
+ forEach(collection, function (item, index, arr) {
12
+ var key = internalIteratee(item, index, arr);
13
13
  if (key in result) {
14
14
  result[key].push(item);
15
15
  }
@@ -3,6 +3,7 @@
3
3
  var defaultTo = require('../defaultTo.js');
4
4
  var toNumber = require('../toNumber.js');
5
5
  var helpers = require('./helpers.js');
6
+ var native = require('./native.js');
6
7
 
7
8
  function baseDebounce(func, wait, immediate, __throttle__) {
8
9
  if (__throttle__ === void 0) { __throttle__ = false; }
@@ -12,7 +13,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
12
13
  var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
13
14
  wait = defaultTo(toNumber(wait), 0);
14
15
  function shouldInvoke(time) {
15
- if (lastCallTime === undefined) {
16
+ if (lastCallTime === native.nativeUndefined) {
16
17
  return true;
17
18
  }
18
19
  var timeSinceLastCall = time - lastCallTime;
@@ -22,7 +23,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
22
23
  function invokeFunc(time) {
23
24
  lastInvokeTime = time;
24
25
  result = func.apply(lastThis, lastArgs);
25
- lastThis = lastArgs = undefined;
26
+ lastThis = lastArgs = native.nativeUndefined;
26
27
  return result;
27
28
  }
28
29
  function debounced() {
@@ -34,36 +35,36 @@ function baseDebounce(func, wait, immediate, __throttle__) {
34
35
  lastArgs = args;
35
36
  var time = Date.now();
36
37
  var isInvoke = shouldInvoke(time);
37
- var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !== undefined && timer === undefined ? wait - (time - lastCallTime) : wait;
38
+ var waitTime = !__throttle__ ? wait : !isInvoke && lastCallTime !== native.nativeUndefined && timer === native.nativeUndefined ? wait - (time - lastCallTime) : wait;
38
39
  lastCallTime = time;
39
40
  if (isInvoke) {
40
- if (immediate && timer === undefined) {
41
+ if (immediate && timer === native.nativeUndefined) {
41
42
  return invokeFunc(time);
42
43
  }
43
44
  }
44
- if (timer !== undefined && !__throttle__) {
45
+ if (timer !== native.nativeUndefined && !__throttle__) {
45
46
  clearTimeout(timer);
46
- timer = undefined;
47
+ timer = native.nativeUndefined;
47
48
  }
48
- if (timer === undefined) {
49
+ if (timer === native.nativeUndefined) {
49
50
  timer = setTimeout(function () {
50
- timer = undefined;
51
+ timer = native.nativeUndefined;
51
52
  invokeFunc(Date.now());
52
53
  }, waitTime);
53
54
  }
54
55
  return result;
55
56
  }
56
57
  function cancel() {
57
- if (timer !== undefined) {
58
+ if (timer !== native.nativeUndefined) {
58
59
  clearTimeout(timer);
59
- timer = undefined;
60
+ timer = native.nativeUndefined;
60
61
  }
61
- lastCallTime = timer = lastArgs = lastThis = undefined;
62
+ lastCallTime = timer = lastArgs = lastThis = native.nativeUndefined;
62
63
  }
63
64
  function flush() {
64
- if (timer !== undefined) {
65
+ if (timer !== native.nativeUndefined) {
65
66
  clearTimeout(timer);
66
- timer = undefined;
67
+ timer = native.nativeUndefined;
67
68
  if (lastArgs) {
68
69
  return invokeFunc(Date.now());
69
70
  }
@@ -71,7 +72,7 @@ function baseDebounce(func, wait, immediate, __throttle__) {
71
72
  return result;
72
73
  }
73
74
  function pending() {
74
- return timer !== undefined;
75
+ return timer !== native.nativeUndefined;
75
76
  }
76
77
  debounced.cancel = cancel;
77
78
  debounced.flush = flush;
@@ -1,33 +1,26 @@
1
1
  'use strict';
2
2
 
3
+ var isNumber = require('../isNumber.js');
3
4
  var isSymbol = require('../isSymbol.js');
4
5
  var toString = require('../toString.js');
5
6
 
6
- function compareAsc(value, other) {
7
- var valueIsSymbol = isSymbol(value);
8
- var otherIsSymbol = isSymbol(other);
9
- var valueStr = toString(value);
10
- var otherStr = toString(other);
11
- if (!otherIsSymbol && (valueIsSymbol || valueStr > otherStr)) {
12
- return 1;
13
- }
14
- if (!valueIsSymbol && (otherIsSymbol || valueStr < otherStr)) {
15
- return -1;
16
- }
17
- return 0;
18
- }
19
- function compareDesc(value, other) {
20
- var valueIsSymbol = isSymbol(value);
21
- var otherIsSymbol = isSymbol(other);
22
- var valueStr = toString(value);
23
- var otherStr = toString(other);
24
- if (!otherIsSymbol && (valueIsSymbol || valueStr > otherStr)) {
25
- return -1;
26
- }
27
- if (!valueIsSymbol && (otherIsSymbol || valueStr < otherStr)) {
28
- return 1;
7
+ function createCompare(dir) {
8
+ var asc = dir === 1;
9
+ function wrapper(value, other) {
10
+ var valueIsSymbol = isSymbol(value);
11
+ var otherIsSymbol = isSymbol(other);
12
+ var isNeedConvertString = !valueIsSymbol && !otherIsSymbol && !(isNumber(value) && isNumber(other));
13
+ var _value = isNeedConvertString ? toString(value) : value;
14
+ var _other = isNeedConvertString ? toString(other) : other;
15
+ if (!otherIsSymbol && (valueIsSymbol || _value > _other)) {
16
+ return asc ? 1 : -1;
17
+ }
18
+ if (!valueIsSymbol && (otherIsSymbol || _value < _other)) {
19
+ return asc ? -1 : 1;
20
+ }
21
+ return 0;
29
22
  }
30
- return 0;
23
+ return wrapper;
31
24
  }
32
25
  function compareMultiple(object, other, orders) {
33
26
  var objCriteria = object.criteria;
@@ -36,7 +29,7 @@ function compareMultiple(object, other, orders) {
36
29
  var index = -1;
37
30
  while (++index < length) {
38
31
  var order = orders[index];
39
- var cmpFn = typeof order === 'function' ? order : order === 'desc' ? compareDesc : compareAsc;
32
+ var cmpFn = typeof order === 'function' ? order : order === 'desc' ? createCompare(0) : createCompare(1);
40
33
  var result = cmpFn(objCriteria[index], othCriteria[index]);
41
34
  if (result) {
42
35
  return result;
@@ -45,6 +38,4 @@ function compareMultiple(object, other, orders) {
45
38
  return object.index - other.index;
46
39
  }
47
40
 
48
- exports.compareAsc = compareAsc;
49
- exports.compareDesc = compareDesc;
50
41
  exports.compareMultiple = compareMultiple;
@@ -3,6 +3,7 @@
3
3
  var isArray = require('../isArray.js');
4
4
  var isSymbol = require('../isSymbol.js');
5
5
  var createIteratee = require('./createIteratee.js');
6
+ var native = require('./native.js');
6
7
 
7
8
  function createExtremum(array, comparator, iteratee) {
8
9
  if (!isArray(array)) {
@@ -10,9 +11,9 @@ function createExtremum(array, comparator, iteratee) {
10
11
  }
11
12
  var result, computed;
12
13
  var internalIteratee = createIteratee(iteratee);
13
- array.forEach(function (value) {
14
- var current = internalIteratee(value);
15
- if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
14
+ array.forEach(function (value, index) {
15
+ var current = internalIteratee(value, index, array);
16
+ if (current != null && (computed === native.nativeUndefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
16
17
  computed = current;
17
18
  result = value;
18
19
  }
@@ -1,13 +1,13 @@
1
1
  'use strict';
2
2
 
3
+ var allKeys = require('../allKeys.js');
3
4
  var identity = require('../identity.js');
4
5
  var isArrayLike = require('../isArrayLike.js');
5
- var keys = require('../keys.js');
6
6
 
7
7
  function createForEach(dir) {
8
8
  var forEach = function (collection, iteratee) {
9
9
  if (iteratee === void 0) { iteratee = identity; }
10
- var _keys = !isArrayLike(collection) && keys(collection);
10
+ var _keys = !isArrayLike(collection) && allKeys(collection);
11
11
  var len = (_keys || collection).length;
12
12
  var i = dir > 0 ? 0 : len - 1;
13
13
  while (i >= 0 && i < len) {
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var allKeys = require('../allKeys.js');
3
4
  var identity = require('../identity.js');
4
5
  var isArrayLike = require('../isArrayLike.js');
5
- var keys = require('../keys.js');
6
6
 
7
7
  function createReduce(dir) {
8
8
  function reducer(collection, iteratee, memo, initial) {
9
- var _keys = !isArrayLike(collection) && keys(collection);
9
+ var _keys = !isArrayLike(collection) && allKeys(collection);
10
10
  var len = (_keys || collection).length;
11
11
  var i = dir > 0 ? 0 : len - 1;
12
12
  if (!initial && len > 0) {
@@ -4,11 +4,11 @@ var native = require('./native.js');
4
4
  var helpers = require('./helpers.js');
5
5
  var getTag = require('./getTag.js');
6
6
 
7
- var dataViewExisted = typeof DataView !== 'undefined';
8
- var mapExisted = typeof Map !== 'undefined';
9
- var promiseExisted = typeof Promise !== 'undefined';
10
- var setExisted = typeof Set !== 'undefined';
11
- var weakMapExisted = typeof WeakMap !== 'undefined';
7
+ var dataViewExisted = typeof DataView !== native.stringUndefined;
8
+ var mapExisted = typeof Map !== native.stringUndefined;
9
+ var promiseExisted = typeof Promise !== native.stringUndefined;
10
+ var setExisted = typeof Set !== native.stringUndefined;
11
+ var weakMapExisted = typeof WeakMap !== native.stringUndefined;
12
12
  var dataViewCtorString = helpers.toSource(DataView);
13
13
  var mapCtorString = helpers.toSource(Map);
14
14
  var promiseCtorString = helpers.toSource(Promise);
@@ -22,7 +22,7 @@ if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== native.data
22
22
  (weakMapExisted && getTag(new WeakMap()) !== native.weakMapTag)) {
23
23
  getTagWithBugfix = function (value) {
24
24
  var result = getTag(value);
25
- var Ctor = result === native.objectTag ? value.constructor : undefined;
25
+ var Ctor = result === native.objectTag ? value.constructor : native.nativeUndefined;
26
26
  var ctorString = Ctor ? helpers.toSource(Ctor) : '';
27
27
  if (ctorString) {
28
28
  switch (ctorString) {
@@ -3,7 +3,7 @@
3
3
  var getTag = require('./getTag.js');
4
4
  var native = require('./native.js');
5
5
 
6
- exports.VERSION = "1.8.0";
6
+ exports.VERSION = "1.9.0";
7
7
  exports.supportedArgumentsType = getTag((function () { return arguments; })()) === native.argumentsTag;
8
8
  exports.FUNC_ERROR_TEXT = 'Expected a function';
9
9
  function toSource(func) {
@@ -11,7 +11,7 @@ var isObjectLike = require('../isObjectLike.js');
11
11
  var isTypedArray = require('../isTypedArray.js');
12
12
  var orderBy = require('../orderBy.js');
13
13
 
14
- var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : undefined;
14
+ var symbolValueOf = native.symbolProto ? native.symbolProto.valueOf : native.nativeUndefined;
15
15
  function mapToArray(map) {
16
16
  var result = [];
17
17
  map.forEach(function (value, key) {
@@ -124,7 +124,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
124
124
  while (length--) {
125
125
  if (hasCustomizer) {
126
126
  var compared = customizer(value[length], other[length], length, value, other, valueStack, otherStack);
127
- if (compared !== undefined) {
127
+ if (compared !== native.nativeUndefined) {
128
128
  if (!compared) {
129
129
  return false;
130
130
  }
@@ -147,7 +147,7 @@ function isEqualDeep(value, other, customizer, strictCheck, valueStack, otherSta
147
147
  var key = keys[length];
148
148
  if (hasCustomizer) {
149
149
  var compared = customizer(value[key], other[key], key, value, other, valueStack, otherStack);
150
- if (compared !== undefined) {
150
+ if (compared !== native.nativeUndefined) {
151
151
  if (!compared) {
152
152
  return false;
153
153
  }
@@ -1,5 +1,8 @@
1
1
  'use strict';
2
2
 
3
+ exports.nativeUndefined = void 0;
4
+ exports.stringUndefined = 'undefined';
5
+ exports.stringObject = 'object';
3
6
  exports.objectProto = Object.prototype;
4
7
  exports.objectProtoToString = exports.objectProto.toString;
5
8
  exports.objectProtoHasOwnProperty = exports.objectProto.hasOwnProperty;
@@ -9,8 +12,8 @@ exports.objectGetPrototypeOf = Object.getPrototypeOf;
9
12
  exports.objectKeys = Object.keys;
10
13
  exports.functionProto = Function.prototype;
11
14
  exports.functionProtoToString = exports.functionProto.toString;
12
- var symbolExisted = typeof Symbol !== 'undefined';
13
- exports.symbolProto = symbolExisted ? Symbol.prototype : undefined;
15
+ var symbolExisted = typeof Symbol !== exports.stringUndefined;
16
+ exports.symbolProto = symbolExisted ? Symbol.prototype : exports.nativeUndefined;
14
17
  exports.arrayProto = Array.prototype;
15
18
  exports.arrayProtoSlice = exports.arrayProto.slice;
16
19
  exports.mathMin = Math.min;
@@ -22,9 +25,9 @@ exports.mathAbs = Math.abs;
22
25
  exports.numberIsFinite = Number.isFinite;
23
26
  exports.numberIsInteger = Number.isInteger;
24
27
  exports.numberIsSafeInteger = Number.isSafeInteger;
25
- exports.globalThisExisted = typeof globalThis === 'object' && globalThis;
26
- exports.globalExisted = typeof global === 'object' && global;
27
- exports.selfExisted = typeof self === 'object' && self;
28
+ exports.globalThisExisted = typeof globalThis === exports.stringObject && globalThis;
29
+ exports.globalExisted = typeof global === exports.stringObject && global;
30
+ exports.selfExisted = typeof self === exports.stringObject && self;
28
31
  exports.MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
29
32
  exports.MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
30
33
  exports.MAX_ARRAY_LENGTH = 4294967295;
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
- var freeExports = typeof exports === 'object' && exports && !exports.nodeType && exports;
4
- var freeModule = freeExports && typeof module === 'object' && module && !module.nodeType && module;
3
+ var native = require('./native.js');
4
+
5
+ var freeExports = typeof exports === native.stringObject && exports && !exports.nodeType && exports;
6
+ var freeModule = freeExports && typeof module === native.stringObject && module && !module.nodeType && module;
5
7
  var nodeUtil = (function () {
6
8
  try {
7
9
  var types = freeModule && freeModule.require && freeModule.require('util').types;
package/lib/invert.js CHANGED
@@ -1,12 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var allKeys = require('./allKeys.js');
3
4
  var helpers = require('./internals/helpers.js');
4
5
  var native = require('./internals/native.js');
5
- var keys = require('./keys.js');
6
6
 
7
7
  function invert(object, predicate) {
8
8
  if (predicate === void 0) { predicate = helpers.stubTrue; }
9
- var _keys = keys(object);
9
+ var _keys = allKeys(object);
10
10
  var result = {};
11
11
  _keys.forEach(function (key) {
12
12
  var value = object[key];
package/lib/isBlob.js CHANGED
@@ -3,7 +3,7 @@
3
3
  var getTag = require('./internals/getTag.js');
4
4
  var native = require('./internals/native.js');
5
5
 
6
- var blobExisted = typeof Blob !== 'undefined';
6
+ var blobExisted = typeof Blob !== native.stringUndefined;
7
7
  function isBlob(value) {
8
8
  if (blobExisted && value instanceof Blob) {
9
9
  return true;
package/lib/isEmpty.js CHANGED
@@ -1,11 +1,11 @@
1
1
  'use strict';
2
2
 
3
3
  var getTag = require('./internals/getTag.js');
4
- var specialKeys = require('./internals/specialKeys.js');
5
4
  var native = require('./internals/native.js');
6
5
  var isArrayLike = require('./isArrayLike.js');
7
6
  var isNil = require('./isNil.js');
8
7
  var isObjectLike = require('./isObjectLike.js');
8
+ var allKeys = require('./allKeys.js');
9
9
 
10
10
  function isEmpty(value) {
11
11
  if (isNil(value)) {
@@ -16,7 +16,7 @@ function isEmpty(value) {
16
16
  return !value.size;
17
17
  }
18
18
  if (isObjectLike(value)) {
19
- return !specialKeys(value).length;
19
+ return !allKeys(value).length;
20
20
  }
21
21
  if (isArrayLike(value)) {
22
22
  return !value.length;
package/lib/isEqual.js CHANGED
@@ -1,12 +1,13 @@
1
1
  'use strict';
2
2
 
3
3
  var isEqualDeep = require('./internals/isEqualDeep.js');
4
+ var native = require('./internals/native.js');
4
5
 
5
6
  function isEqual(value, other, customizer, strictCheck) {
6
7
  if (strictCheck === void 0) { strictCheck = false; }
7
8
  if (typeof customizer === 'function') {
8
9
  var result = customizer(value, other);
9
- if (result !== undefined) {
10
+ if (result !== native.nativeUndefined) {
10
11
  return !!result;
11
12
  }
12
13
  }
package/lib/isMatch.js CHANGED
@@ -30,7 +30,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
30
30
  }
31
31
  if (hasCustomizer) {
32
32
  var compared = customizer(object[key], source[key], key, object, source, objStack, srcStack);
33
- if (compared !== undefined) {
33
+ if (compared !== native.nativeUndefined) {
34
34
  if (!compared) {
35
35
  return false;
36
36
  }
@@ -48,7 +48,7 @@ function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack
48
48
  var result = isEqualDeep(object, source, function (objValue, srcValue, k, obj, src) {
49
49
  if (hasCustomizer) {
50
50
  var compared = customizer(objValue, srcValue, k, obj, src, objStack, srcStack);
51
- if (compared !== undefined) {
51
+ if (compared !== native.nativeUndefined) {
52
52
  return compared;
53
53
  }
54
54
  }
@@ -62,11 +62,11 @@ function isMatch(object, source, customizer, strictCheck) {
62
62
  if (strictCheck === void 0) { strictCheck = false; }
63
63
  if (typeof customizer === 'function') {
64
64
  var compared = customizer(object, source);
65
- if (compared !== undefined) {
65
+ if (compared !== native.nativeUndefined) {
66
66
  return !!compared;
67
67
  }
68
68
  }
69
- return baseIsMatch(object, source, customizer, strictCheck, undefined, undefined);
69
+ return baseIsMatch(object, source, customizer, strictCheck, native.nativeUndefined, native.nativeUndefined);
70
70
  }
71
71
 
72
72
  module.exports = isMatch;
@@ -1,7 +1,9 @@
1
1
  'use strict';
2
2
 
3
+ var native = require('./internals/native.js');
4
+
3
5
  function isUndefined(value) {
4
- return value === void 0;
6
+ return value === native.nativeUndefined;
5
7
  }
6
8
 
7
9
  module.exports = isUndefined;
package/lib/keyBy.js CHANGED
@@ -8,8 +8,8 @@ var keyBy = function (collection, iteratee) {
8
8
  if (iteratee === void 0) { iteratee = identity; }
9
9
  var result = {};
10
10
  var internalIteratee = createIteratee(iteratee);
11
- forEach(collection, function (item) {
12
- var key = internalIteratee(item);
11
+ forEach(collection, function (item, index, arr) {
12
+ var key = internalIteratee(item, index, arr);
13
13
  result[key] = item;
14
14
  });
15
15
  return result;
package/lib/max.js CHANGED
@@ -3,8 +3,9 @@
3
3
  var comparator = require('./internals/comparator.js');
4
4
  var createExtremum = require('./internals/createExtremum.js');
5
5
 
6
- function max(array, iteratee) {
6
+ var max = function (array, iteratee) {
7
7
  return createExtremum(array, comparator.baseGt, iteratee);
8
- }
8
+ };
9
+ var max$1 = max;
9
10
 
10
- module.exports = max;
11
+ module.exports = max$1;
package/lib/merge.js CHANGED
@@ -1,10 +1,11 @@
1
1
  'use strict';
2
2
 
3
- var keysIn = require('./keysIn.js');
4
3
  var isArray = require('./isArray.js');
5
4
  var isObject = require('./isObject.js');
6
5
  var isObjectLike = require('./isObjectLike.js');
7
6
  var isPlainObject = require('./isPlainObject.js');
7
+ var native = require('./internals/native.js');
8
+ var allKeys = require('./allKeys.js');
8
9
 
9
10
  function baseMerge(object, source, getKeys, customizer, stack) {
10
11
  if (stack === void 0) { stack = new WeakMap(); }
@@ -21,8 +22,8 @@ function baseMerge(object, source, getKeys, customizer, stack) {
21
22
  obj[key] = srcValue;
22
23
  }
23
24
  else {
24
- var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : undefined;
25
- if (newValue !== undefined) {
25
+ var newValue = hasCustomizer ? customizer(obj[key], srcValue, key, obj, source) : native.nativeUndefined;
26
+ if (newValue !== native.nativeUndefined) {
26
27
  obj[key] = newValue;
27
28
  }
28
29
  else {
@@ -40,7 +41,7 @@ function baseMerge(object, source, getKeys, customizer, stack) {
40
41
  if (newObjValue) {
41
42
  obj[key] = baseMerge(newObjValue, srcValue, getKeys, customizer, stack);
42
43
  }
43
- else if (srcValue !== undefined || !(key in obj)) {
44
+ else if (srcValue !== native.nativeUndefined || !(key in obj)) {
44
45
  obj[key] = srcValue;
45
46
  }
46
47
  }
@@ -49,7 +50,7 @@ function baseMerge(object, source, getKeys, customizer, stack) {
49
50
  return obj;
50
51
  }
51
52
  function merge(object, source, customizer, getKeys) {
52
- if (getKeys === void 0) { getKeys = keysIn; }
53
+ if (getKeys === void 0) { getKeys = allKeys; }
53
54
  return baseMerge(object, source, getKeys, customizer);
54
55
  }
55
56
 
package/lib/min.js CHANGED
@@ -3,8 +3,9 @@
3
3
  var comparator = require('./internals/comparator.js');
4
4
  var createExtremum = require('./internals/createExtremum.js');
5
5
 
6
- function min(array, iteratee) {
6
+ var min = function (array, iteratee) {
7
7
  return createExtremum(array, comparator.baseLt, iteratee);
8
- }
8
+ };
9
+ var min$1 = min;
9
10
 
10
- module.exports = min;
11
+ module.exports = min$1;
package/lib/nth.js CHANGED
@@ -1,11 +1,12 @@
1
1
  'use strict';
2
2
 
3
+ var native = require('./internals/native.js');
3
4
  var isArrayLike = require('./isArrayLike.js');
4
5
 
5
6
  function nth(array, n) {
6
7
  if (n === void 0) { n = 0; }
7
8
  if (!isArrayLike(array)) {
8
- return undefined;
9
+ return native.nativeUndefined;
9
10
  }
10
11
  n += n < 0 ? array.length : 0;
11
12
  return array[n];
package/lib/orderBy.js CHANGED
@@ -5,14 +5,15 @@ var createIteratee = require('./internals/createIteratee.js');
5
5
  var compare = require('./internals/compare.js');
6
6
  var isArray = require('./isArray.js');
7
7
  var forEach = require('./forEach.js');
8
+ var native = require('./internals/native.js');
8
9
 
9
10
  var orderBy = function (collection, iteratees, orders) {
10
11
  var result = [];
11
- iteratees = (isArray(iteratees) ? iteratees : iteratees !== undefined ? [iteratees] : [identity]);
12
- orders = (isArray(orders) ? orders : orders !== undefined ? [orders] : []);
12
+ iteratees = (isArray(iteratees) ? iteratees : iteratees !== native.nativeUndefined ? [iteratees] : [identity]);
13
+ orders = (isArray(orders) ? orders : orders !== native.nativeUndefined ? [orders] : []);
13
14
  var index = -1;
14
- forEach(collection, function (item) {
15
- var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item); });
15
+ forEach(collection, function (item, key, arr) {
16
+ var criteria = iteratees.map(function (iteratee) { return createIteratee(iteratee)(item, key, arr); });
16
17
  result.push({
17
18
  criteria: criteria,
18
19
  index: ++index,