ut2 1.5.1 → 1.5.3

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 (98) hide show
  1. package/README.md +1 -1
  2. package/dist/ut2.js +103 -125
  3. package/dist/ut2.js.map +1 -1
  4. package/dist/ut2.min.js +1 -1
  5. package/dist/ut2.min.js.map +1 -1
  6. package/es/gt.js +3 -4
  7. package/es/gte.js +3 -4
  8. package/es/internals/createExtremum.js +19 -12
  9. package/es/internals/createIteratee.js +2 -1
  10. package/es/internals/getTag.js +2 -23
  11. package/es/internals/getTagWithBugfix.js +6 -6
  12. package/es/internals/helpers.js +6 -4
  13. package/es/internals/native.js +4 -3
  14. package/es/internals/root.js +6 -4
  15. package/es/isArguments.js +3 -2
  16. package/es/isArrayBuffer.js +3 -2
  17. package/es/isBlob.js +3 -2
  18. package/es/isBoolean.js +3 -2
  19. package/es/isDate.js +3 -2
  20. package/es/isEmpty.js +4 -3
  21. package/es/isEqual.js +1 -1
  22. package/es/isError.js +3 -2
  23. package/es/isFunction.js +3 -2
  24. package/es/isMatch.js +3 -2
  25. package/es/isNumber.js +3 -2
  26. package/es/isObject.js +1 -1
  27. package/es/isObjectLike.js +1 -1
  28. package/es/isRegExp.js +3 -2
  29. package/es/isString.js +3 -2
  30. package/es/isSymbol.js +3 -2
  31. package/es/isTypedArray.js +3 -2
  32. package/es/isWeakSet.js +3 -2
  33. package/es/lowerFirst.js +3 -4
  34. package/es/lt.js +3 -4
  35. package/es/lte.js +3 -4
  36. package/es/max.js +2 -4
  37. package/es/min.js +2 -4
  38. package/es/nth.js +2 -6
  39. package/es/omit.js +1 -1
  40. package/es/omitBy.js +2 -1
  41. package/es/pickBy.js +2 -1
  42. package/es/toString.js +1 -1
  43. package/es/uniq.js +13 -5
  44. package/es/upperFirst.js +3 -4
  45. package/lib/gt.js +3 -4
  46. package/lib/gte.js +3 -4
  47. package/lib/internals/createExtremum.js +19 -12
  48. package/lib/internals/createIteratee.js +2 -1
  49. package/lib/internals/getTag.js +1 -22
  50. package/lib/internals/getTagWithBugfix.js +5 -5
  51. package/lib/internals/helpers.js +4 -2
  52. package/lib/internals/native.js +3 -2
  53. package/lib/internals/root.js +6 -4
  54. package/lib/isArguments.js +2 -1
  55. package/lib/isArrayBuffer.js +2 -1
  56. package/lib/isBlob.js +2 -1
  57. package/lib/isBoolean.js +2 -1
  58. package/lib/isDate.js +2 -1
  59. package/lib/isEmpty.js +4 -3
  60. package/lib/isEqual.js +1 -1
  61. package/lib/isError.js +2 -1
  62. package/lib/isFunction.js +2 -1
  63. package/lib/isMatch.js +2 -1
  64. package/lib/isNumber.js +2 -1
  65. package/lib/isObject.js +1 -1
  66. package/lib/isObjectLike.js +1 -1
  67. package/lib/isRegExp.js +2 -1
  68. package/lib/isString.js +2 -1
  69. package/lib/isSymbol.js +2 -1
  70. package/lib/isTypedArray.js +2 -1
  71. package/lib/isWeakSet.js +2 -1
  72. package/lib/lowerFirst.js +3 -4
  73. package/lib/lt.js +3 -4
  74. package/lib/lte.js +3 -4
  75. package/lib/max.js +2 -4
  76. package/lib/min.js +2 -4
  77. package/lib/nth.js +2 -6
  78. package/lib/omit.js +1 -1
  79. package/lib/omitBy.js +2 -1
  80. package/lib/pickBy.js +2 -1
  81. package/lib/toString.js +1 -1
  82. package/lib/uniq.js +13 -5
  83. package/lib/upperFirst.js +3 -4
  84. package/package.json +7 -2
  85. package/types/gt.d.ts +2 -2
  86. package/types/gte.d.ts +2 -2
  87. package/types/identity.d.ts +1 -1
  88. package/types/internals/createExtremum.d.ts +1 -1
  89. package/types/internals/createIteratee.d.ts +2 -1
  90. package/types/internals/decimalAdjust.d.ts +1 -1
  91. package/types/internals/getTag.d.ts +1 -1
  92. package/types/internals/helpers.d.ts +1 -0
  93. package/types/internals/native.d.ts +3 -2
  94. package/types/internals/root.d.ts +1 -1
  95. package/types/lowerFirst.d.ts +2 -2
  96. package/types/lt.d.ts +2 -2
  97. package/types/lte.d.ts +2 -2
  98. package/types/upperFirst.d.ts +2 -2
package/README.md CHANGED
@@ -16,7 +16,7 @@
16
16
 
17
17
  兼容现代浏览器 [Firefox](https://www.firefox.com.cn/)、[Chrome](https://www.google.cn/chrome/index.html)、[Safari](https://www.apple.com.cn/safari/)、[Opera](https://www.opera.com/zh-cn),以及 [Node.js >= 10](https://nodejs.org/) 。
18
18
 
19
- 如果要兼容 IE 系列浏览器,建议使用 [@babel/preset-env](https://babeljs.io/docs/babel-preset-env) 设置对应的 `targets` 。
19
+ 如果要兼容 IE 系列浏览器,需要提供相应的 Polyfill 支持,建议使用 [@babel/preset-env](https://babeljs.io/docs/babel-preset-env) 设置对应的 `targets` 。
20
20
 
21
21
  ## 使用
22
22
 
package/dist/ut2.js CHANGED
@@ -15,10 +15,8 @@
15
15
  var functionProtoToString = functionProto.toString;
16
16
  var symbolExisted = typeof Symbol !== 'undefined';
17
17
  var symbolProto = symbolExisted ? Symbol.prototype : undefined;
18
- var symbolToStringTag = symbolExisted ? Symbol.toStringTag : undefined;
19
18
  var arrayProto = Array.prototype;
20
19
  var arrayProtoSlice = arrayProto.slice;
21
- var arrayProtoAt = arrayProto.at;
22
20
  var mathMin = Math.min;
23
21
  var mathMax = Math.max;
24
22
  var mathRandom = Math.random;
@@ -28,6 +26,9 @@
28
26
  var numberIsFinite = Number.isFinite;
29
27
  var numberIsInteger = Number.isInteger;
30
28
  var numberIsSafeInteger = Number.isSafeInteger;
29
+ var globalThisExisted = typeof globalThis === 'object' && globalThis;
30
+ var globalExisted = typeof global === 'object' && global;
31
+ var selfExisted = typeof self === 'object' && self;
31
32
  var MAX_SAFE_INTEGER = Number.MAX_SAFE_INTEGER || 9007199254740991;
32
33
  var MIN_SAFE_INTEGER = Number.MIN_SAFE_INTEGER || -9007199254740991;
33
34
  var MAX_ARRAY_LENGTH = 4294967295;
@@ -59,11 +60,15 @@
59
60
 
60
61
  function isObject(value) {
61
62
  var type = typeof value;
62
- return value != null && (type === 'object' || type === 'function');
63
+ return type === 'function' || (type === 'object' && !!value);
64
+ }
65
+
66
+ function getTag(value) {
67
+ return objectProtoToString.call(value);
63
68
  }
64
69
 
65
70
  function isSymbol(value) {
66
- return typeof value === 'symbol' || objectProtoToString.call(value) === symbolTag;
71
+ return typeof value === 'symbol' || getTag(value) === symbolTag;
67
72
  }
68
73
 
69
74
  var reIsBinary = /^0b[01]+$/i;
@@ -141,6 +146,10 @@
141
146
  return value !== value && other !== other;
142
147
  }
143
148
 
149
+ function identity(value) {
150
+ return value;
151
+ }
152
+
144
153
  function createIteratee(iteratee) {
145
154
  if (typeof iteratee === 'function') {
146
155
  return iteratee;
@@ -148,7 +157,7 @@
148
157
  if (typeof iteratee === 'string' || typeof iteratee === 'number' || isSymbol(iteratee)) {
149
158
  return function (value) { return value[iteratee]; };
150
159
  }
151
- return function (value) { return value; };
160
+ return identity;
152
161
  }
153
162
 
154
163
  function difference(array, values, iteratee, strictCheck) {
@@ -198,7 +207,7 @@
198
207
  if (typeof value === 'function') {
199
208
  return true;
200
209
  }
201
- var tag = objectProtoToString.call(value);
210
+ var tag = getTag(value);
202
211
  return functionTags.some(function (item) { return item === tag; });
203
212
  }
204
213
 
@@ -215,11 +224,8 @@
215
224
  if (!isArrayLike(array)) {
216
225
  return undefined;
217
226
  }
218
- if (typeof arrayProtoAt === 'function') {
219
- return arrayProtoAt.call(array, n);
220
- }
221
- var index = n < 0 ? n + array.length : n;
222
- return array[index];
227
+ n += n < 0 ? array.length : 0;
228
+ return array[n];
223
229
  }
224
230
 
225
231
  var MAX_VALUE = 1.7976931348623157e308;
@@ -267,16 +273,27 @@
267
273
  return result;
268
274
  }
269
275
 
276
+ function isUndefined(value) {
277
+ return value === void 0;
278
+ }
279
+
270
280
  function uniq(array, iteratee, strickCheck) {
271
281
  if (strickCheck === void 0) { strickCheck = false; }
272
282
  if (!isArray(array)) {
273
283
  return [];
274
284
  }
275
- var internalIteratee = createIteratee(iteratee);
276
- return array.filter(function (value, index, arr) {
277
- var current = internalIteratee(value);
278
- return arr.findIndex(function (item) { return eq(internalIteratee(item), current, strickCheck); }) === index;
279
- });
285
+ if (isUndefined(iteratee)) {
286
+ return array.filter(function (value, index, arr) {
287
+ return arr.findIndex(function (item) { return eq(item, value, strickCheck); }) === index;
288
+ });
289
+ }
290
+ else {
291
+ var internalIteratee_1 = createIteratee(iteratee);
292
+ return array.filter(function (value, index, arr) {
293
+ var current = internalIteratee_1(value);
294
+ return arr.findIndex(function (item) { return eq(internalIteratee_1(item), current, strickCheck); }) === index;
295
+ });
296
+ }
280
297
  }
281
298
 
282
299
  function union(array, other, iteratee, strickCheck) {
@@ -288,7 +305,7 @@
288
305
  }
289
306
 
290
307
  function isObjectLike(value) {
291
- return value != null && typeof value === 'object';
308
+ return value !== null && typeof value === 'object';
292
309
  }
293
310
 
294
311
  function isArrayLikeObject(value) {
@@ -386,10 +403,6 @@
386
403
  return result;
387
404
  }
388
405
 
389
- function identity(value) {
390
- return value;
391
- }
392
-
393
406
  var symbolToString = symbolProto ? symbolProto.toString : undefined;
394
407
  function baseToString(value) {
395
408
  if (typeof value === 'string') {
@@ -402,7 +415,7 @@
402
415
  return symbolToString ? symbolToString.call(value) : '';
403
416
  }
404
417
  var result = '' + value;
405
- return result == '0' && 1 / value === -Infinity ? '-0' : result;
418
+ return result === '0' && 1 / value === -Infinity ? '-0' : result;
406
419
  }
407
420
  function toString(value) {
408
421
  return value == null ? '' : baseToString(value);
@@ -482,8 +495,8 @@
482
495
  return value == null || value !== value ? defaultValue : value;
483
496
  }
484
497
 
485
- var VERSION = "1.5.1";
486
- var supportedArgumentsType = objectProtoToString.call((function () { return arguments; })()) === argumentsTag;
498
+ var VERSION = "1.5.3";
499
+ var supportedArgumentsType = getTag((function () { return arguments; })()) === argumentsTag;
487
500
  var FUNC_ERROR_TEXT = 'Expected a function';
488
501
  function toSource(func) {
489
502
  if (func !== null) {
@@ -500,6 +513,7 @@
500
513
  }
501
514
  return '';
502
515
  }
516
+ var stubFlase = function () { return false; };
503
517
 
504
518
  function after(n, func) {
505
519
  if (typeof func !== 'function') {
@@ -672,7 +686,7 @@
672
686
 
673
687
  function isArguments(value) {
674
688
  if (supportedArgumentsType) {
675
- return objectProtoToString.call(value) === argumentsTag;
689
+ return getTag(value) === argumentsTag;
676
690
  }
677
691
  return isObjectLike(value) && objectProtoHasOwnProperty.call(value, 'callee') && !objectProtoPropertyIsEnumerable.call(value, 'callee');
678
692
  }
@@ -697,7 +711,7 @@
697
711
  var nodeIsTypedArray = nodeUtil && nodeUtil.isTypedArray;
698
712
 
699
713
  function isArrayBuffer(value) {
700
- return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) : objectProtoToString.call(value) === arrayBufferTag;
714
+ return nodeIsArrayBuffer ? nodeIsArrayBuffer(value) : getTag(value) === arrayBufferTag;
701
715
  }
702
716
 
703
717
  var blobExisted = typeof Blob !== 'undefined';
@@ -705,11 +719,11 @@
705
719
  if (blobExisted && value instanceof Blob) {
706
720
  return true;
707
721
  }
708
- return objectProtoToString.call(value) === blobTag;
722
+ return getTag(value) === blobTag;
709
723
  }
710
724
 
711
725
  function isBoolean(value) {
712
- return value === true || value === false || objectProtoToString.call(value) === booleanTag;
726
+ return value === true || value === false || getTag(value) === booleanTag;
713
727
  }
714
728
 
715
729
  function isBuffer(value) {
@@ -722,31 +736,6 @@
722
736
  return false;
723
737
  }
724
738
 
725
- function getRawTag(value) {
726
- var isOwn = objectProtoHasOwnProperty.call(value, symbolToStringTag);
727
- var tag = value[symbolToStringTag];
728
- var unmasked = false;
729
- try {
730
- value[symbolToStringTag] = undefined;
731
- unmasked = true;
732
- }
733
- catch (e) {
734
- }
735
- var result = objectProtoToString.call(value);
736
- if (unmasked) {
737
- if (isOwn) {
738
- value[symbolToStringTag] = tag;
739
- }
740
- else {
741
- delete value[symbolToStringTag];
742
- }
743
- }
744
- return result;
745
- }
746
- function getTag(value) {
747
- return symbolToStringTag && symbolToStringTag in Object(value) ? getRawTag(value) : objectProtoToString.call(value);
748
- }
749
-
750
739
  var dataViewExisted = typeof DataView !== 'undefined';
751
740
  var mapExisted = typeof Map !== 'undefined';
752
741
  var promiseExisted = typeof Promise !== 'undefined';
@@ -758,11 +747,11 @@
758
747
  var setCtorString = toSource(Set);
759
748
  var weakMapCtorString = toSource(WeakMap);
760
749
  var getTagWithBugfix = getTag;
761
- if ((dataViewExisted && objectProtoToString.call(new DataView(new ArrayBuffer(1))) !== dataViewTag) ||
762
- (mapExisted && objectProtoToString.call(new Map()) !== mapTag) ||
763
- (promiseExisted && objectProtoToString.call(Promise.resolve()) !== promiseTag) ||
764
- (setExisted && objectProtoToString.call(new Set()) !== setTag) ||
765
- (weakMapExisted && objectProtoToString.call(new WeakMap()) !== weakMapTag)) {
750
+ if ((dataViewExisted && getTag(new DataView(new ArrayBuffer(1))) !== dataViewTag) ||
751
+ (mapExisted && getTag(new Map()) !== mapTag) ||
752
+ (promiseExisted && getTag(Promise.resolve()) !== promiseTag) ||
753
+ (setExisted && getTag(new Set()) !== setTag) ||
754
+ (weakMapExisted && getTag(new WeakMap()) !== weakMapTag)) {
766
755
  getTagWithBugfix = function (value) {
767
756
  var result = getTag(value);
768
757
  var Ctor = result === objectTag ? value.constructor : undefined;
@@ -791,7 +780,7 @@
791
780
  }
792
781
 
793
782
  function isDate(value) {
794
- return nodeIsDate ? nodeIsDate(value) : objectProtoToString.call(value) === dateTag;
783
+ return nodeIsDate ? nodeIsDate(value) : getTag(value) === dateTag;
795
784
  }
796
785
 
797
786
  var objectCtorString = functionProtoToString.call(Object);
@@ -833,22 +822,12 @@
833
822
  return result;
834
823
  }
835
824
 
836
- function isMap(value) {
837
- if (nodeIsMap) {
838
- return nodeIsMap(value);
839
- }
840
- return getTagWithBugfix$1(value) === mapTag;
841
- }
842
-
843
- function isSet(value) {
844
- return nodeIsSet ? nodeIsSet(value) : getTagWithBugfix$1(value) === setTag;
845
- }
846
-
847
825
  function isEmpty(value) {
848
826
  if (value == null) {
849
827
  return true;
850
828
  }
851
- if (isMap(value) || isSet(value)) {
829
+ var tag = getTag(value);
830
+ if (tag === mapTag || tag === setTag) {
852
831
  return !value.size;
853
832
  }
854
833
  if (isObjectLike(value)) {
@@ -883,7 +862,7 @@
883
862
  return nodeIsTypedArray(value);
884
863
  }
885
864
  if (isObjectLike(value) && isLength(value.length)) {
886
- var tag_1 = objectProtoToString.call(value);
865
+ var tag_1 = getTag(value);
887
866
  return typedArrayTags.some(function (item) { return item === tag_1; });
888
867
  }
889
868
  return false;
@@ -942,7 +921,7 @@
942
921
  case symbolTag:
943
922
  return symbolValueOf ? symbolValueOf.call(value) === symbolValueOf.call(other) : false;
944
923
  case errorTag:
945
- return value.name == other.name && value.message == other.message;
924
+ return value.name === other.name && value.message === other.message;
946
925
  case dataViewTag:
947
926
  case arrayBufferTag:
948
927
  if (value.byteLength !== other.byteLength || (value.byteOffset && value.byteOffset !== other.byteOffset)) {
@@ -1072,14 +1051,14 @@
1072
1051
  if (value instanceof Error) {
1073
1052
  return true;
1074
1053
  }
1075
- var tag = objectProtoToString.call(value);
1054
+ var tag = getTag(value);
1076
1055
  return tag === errorTag || tag === domExceptionTag;
1077
1056
  }
1078
1057
 
1079
- var freeGlobalThis = typeof globalThis === 'object' && globalThis && globalThis.Object === Object && globalThis;
1080
- var freeGlobal = typeof global === 'object' && global && global.Object === Object && global;
1081
- var freeSelf = typeof self === 'object' && self && self.Object === Object && self;
1082
- var root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')() || {};
1058
+ var freeGlobalThis = globalThisExisted && globalThis.Object === Object && globalThis;
1059
+ var freeGlobal = globalExisted && global.Object === Object && global;
1060
+ var freeSelf = selfExisted && self.Object === Object && self;
1061
+ var root = freeGlobalThis || freeGlobal || freeSelf || Function('return this')();
1083
1062
 
1084
1063
  function isFinite(value) {
1085
1064
  return numberIsFinite ? numberIsFinite(value) : typeof value === 'number' && root.isFinite(value);
@@ -1089,8 +1068,15 @@
1089
1068
  return numberIsInteger ? numberIsInteger(value) : isFinite(value) && mathFloor(value) === value;
1090
1069
  }
1091
1070
 
1071
+ function isMap(value) {
1072
+ if (nodeIsMap) {
1073
+ return nodeIsMap(value);
1074
+ }
1075
+ return getTagWithBugfix$1(value) === mapTag;
1076
+ }
1077
+
1092
1078
  function isDeepComparable(object, source) {
1093
- return objectProtoToString.call(object) === objectTag && objectProtoToString.call(source) === objectTag;
1079
+ return getTag(object) === objectTag && getTag(source) === objectTag;
1094
1080
  }
1095
1081
  function baseIsMatch(object, source, customizer, strictCheck, objStack, srcStack, executedCustomizer) {
1096
1082
  if (executedCustomizer === void 0) { executedCustomizer = false; }
@@ -1156,7 +1142,7 @@
1156
1142
  }
1157
1143
 
1158
1144
  function isNumber(value) {
1159
- return typeof value === 'number' || objectProtoToString.call(value) === numberTag;
1145
+ return typeof value === 'number' || getTag(value) === numberTag;
1160
1146
  }
1161
1147
 
1162
1148
  function isNaN(value) {
@@ -1172,19 +1158,19 @@
1172
1158
  }
1173
1159
 
1174
1160
  function isRegExp(value) {
1175
- return nodeIsRegExp ? nodeIsRegExp(value) : objectProtoToString.call(value) === regExpTag;
1161
+ return nodeIsRegExp ? nodeIsRegExp(value) : getTag(value) === regExpTag;
1176
1162
  }
1177
1163
 
1178
1164
  function isSafeInteger(value) {
1179
1165
  return numberIsSafeInteger ? numberIsSafeInteger(value) : isInteger(value) && mathAbs(value) <= MAX_SAFE_INTEGER;
1180
1166
  }
1181
1167
 
1182
- function isString(value) {
1183
- return typeof value === 'string' || objectProtoToString.call(value) === stringTag;
1168
+ function isSet(value) {
1169
+ return nodeIsSet ? nodeIsSet(value) : getTagWithBugfix$1(value) === setTag;
1184
1170
  }
1185
1171
 
1186
- function isUndefined(value) {
1187
- return value === void 0;
1172
+ function isString(value) {
1173
+ return typeof value === 'string' || getTag(value) === stringTag;
1188
1174
  }
1189
1175
 
1190
1176
  function isWeakMap(value) {
@@ -1192,7 +1178,7 @@
1192
1178
  }
1193
1179
 
1194
1180
  function isWeakSet(value) {
1195
- return objectProtoToString.call(value) === weakSetTag;
1181
+ return getTag(value) === weakSetTag;
1196
1182
  }
1197
1183
 
1198
1184
  function decimalAdjust(type, value, precision) {
@@ -1239,41 +1225,37 @@
1239
1225
  return value <= other;
1240
1226
  };
1241
1227
 
1242
- function gt(value, other) {
1243
- return createOperation(baseGt)(value, other);
1244
- }
1245
-
1246
- function createExtremum(array, iteratee, comparator) {
1228
+ function createExtremum(array, comparator, iteratee) {
1247
1229
  if (!isArray(array)) {
1248
1230
  return;
1249
1231
  }
1250
1232
  var result, computed;
1251
- var internalIteratee = createIteratee(iteratee);
1252
- array.forEach(function (value) {
1253
- var current = internalIteratee(value);
1254
- if (current != null &&
1255
- (computed === undefined
1256
- ? current === current && !isSymbol(current)
1257
- : comparator(current, computed))) {
1258
- computed = current;
1259
- result = value;
1260
- }
1261
- });
1233
+ if (isUndefined(iteratee)) {
1234
+ array.forEach(function (value) {
1235
+ if (value != null && (result === undefined ? value === value && !isSymbol(value) : comparator(value, result))) {
1236
+ result = value;
1237
+ }
1238
+ });
1239
+ }
1240
+ else {
1241
+ var internalIteratee_1 = createIteratee(iteratee);
1242
+ array.forEach(function (value) {
1243
+ var current = internalIteratee_1(value);
1244
+ if (current != null && (computed === undefined ? current === current && !isSymbol(current) : comparator(current, computed))) {
1245
+ computed = current;
1246
+ result = value;
1247
+ }
1248
+ });
1249
+ }
1262
1250
  return result;
1263
1251
  }
1264
1252
 
1265
1253
  function max(array, iteratee) {
1266
- if (iteratee === void 0) { iteratee = identity; }
1267
- return createExtremum(array, iteratee, gt);
1268
- }
1269
-
1270
- function lt(value, other) {
1271
- return createOperation(baseLt)(value, other);
1254
+ return createExtremum(array, baseGt, iteratee);
1272
1255
  }
1273
1256
 
1274
1257
  function min(array, iteratee) {
1275
- if (iteratee === void 0) { iteratee = identity; }
1276
- return createExtremum(array, iteratee, lt);
1258
+ return createExtremum(array, baseLt, iteratee);
1277
1259
  }
1278
1260
 
1279
1261
  function round(number, precision) {
@@ -1407,7 +1389,7 @@
1407
1389
  var fieldArr = castArray(fields);
1408
1390
  var result = {};
1409
1391
  keys.forEach(function (key) {
1410
- if (!fieldArr.includes(key)) {
1392
+ if (fieldArr.indexOf(key) === -1) {
1411
1393
  result[key] = object[key];
1412
1394
  }
1413
1395
  });
@@ -1415,7 +1397,7 @@
1415
1397
  }
1416
1398
 
1417
1399
  function pickBy(object, predicate) {
1418
- if (predicate === void 0) { predicate = function () { return false; }; }
1400
+ if (predicate === void 0) { predicate = stubFlase; }
1419
1401
  var result = {};
1420
1402
  if (object === null) {
1421
1403
  return result;
@@ -1430,7 +1412,7 @@
1430
1412
  }
1431
1413
 
1432
1414
  function omitBy(object, predicate) {
1433
- if (predicate === void 0) { predicate = function () { return false; }; }
1415
+ if (predicate === void 0) { predicate = stubFlase; }
1434
1416
  return pickBy(object, negate(predicate));
1435
1417
  }
1436
1418
 
@@ -1466,9 +1448,7 @@
1466
1448
  };
1467
1449
  }
1468
1450
 
1469
- function upperFirst(string) {
1470
- return createCaseFirst('toUpperCase')(string);
1471
- }
1451
+ var upperFirst = createCaseFirst('toUpperCase');
1472
1452
 
1473
1453
  function camelCase(string, pattern) {
1474
1454
  return splitCaseWords(string, pattern).reduce(function (prev, cur, index) {
@@ -1515,9 +1495,7 @@
1515
1495
  return splitCaseWords(string, pattern).reduce(function (prev, cur, index) { return prev + (index ? ' ' : '') + cur.toLowerCase(); }, '');
1516
1496
  }
1517
1497
 
1518
- function lowerFirst(string) {
1519
- return createCaseFirst('toLowerCase')(string);
1520
- }
1498
+ var lowerFirst = createCaseFirst('toLowerCase');
1521
1499
 
1522
1500
  function snakeCase(string, pattern) {
1523
1501
  return splitCaseWords(string, pattern).reduce(function (prev, cur, index) { return prev + (index ? '_' : '') + cur.toLowerCase(); }, '');
@@ -1577,13 +1555,13 @@
1577
1555
  };
1578
1556
  }
1579
1557
 
1580
- function gte(value, other) {
1581
- return createOperation(baseGte)(value, other);
1582
- }
1558
+ var gt = createOperation(baseGt);
1583
1559
 
1584
- function lte(value, other) {
1585
- return createOperation(baseLte)(value, other);
1586
- }
1560
+ var gte = createOperation(baseGte);
1561
+
1562
+ var lt = createOperation(baseLt);
1563
+
1564
+ var lte = createOperation(baseLte);
1587
1565
 
1588
1566
  function noop() { }
1589
1567