ut2 1.0.4 → 1.1.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.
package/README.md CHANGED
@@ -10,9 +10,9 @@
10
10
 
11
11
  **与其他工具库对比([`lodash`]、[`underscore`])**
12
12
 
13
- - 使用 ES API 开发,并剔除原生支持的大量方法(`forEach`、`filter`、`Array.from`、`Object.keys`、`Object.entries`、`Object.create` ……)。
14
- - 使用 TypeScript 实现, 提供类型定义。
15
- - 导出 `es` `cjs` `umd` 模块格式,支持不同开发环境使用。
13
+ - 基于 ES2015+ 标准,无需原生支持的方法(`forEach`、`filter`、`Object.keys`、`Object.entries` ……)。
14
+ - 使用 TypeScript 实现,提供类型定义。
15
+ - 导出 `es`、`cjs`、`umd` 模块格式,支持不同开发环境使用。
16
16
 
17
17
  ## 使用
18
18
 
@@ -95,6 +95,9 @@ const debounced = debounce(() => {
95
95
  - random - 随机小数。
96
96
  - randomInt - 随机整数。
97
97
  - Object 对象
98
+ - allKeys - 对象自身的可枚举属性(包含 `Symbol` 属性)。
99
+ - allKeysIn - 对象自身及继承的可枚举属性(包含 `Symbol` 属性)。
100
+ - keysIn - 对象自身及继承的可枚举属性(不包含 `Symbol` 属性)。
98
101
  - merge - 递归对象或数组进行合并。
99
102
  - omit - 排除部分属性。
100
103
  - omitBy - 根据方法,排除部分属性。
package/dist/ut2.js CHANGED
@@ -262,7 +262,7 @@
262
262
  var numberIsSafeInteger = Number.isSafeInteger;
263
263
  var objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
264
264
  var arrayAt = Array.prototype.at;
265
- var VERSION = "1.0.4";
265
+ var VERSION = "1.1.0";
266
266
 
267
267
  function isFunction(value) {
268
268
  if (!isObject(value)) {
@@ -336,61 +336,6 @@
336
336
  return result;
337
337
  }
338
338
 
339
- /******************************************************************************
340
- Copyright (c) Microsoft Corporation.
341
-
342
- Permission to use, copy, modify, and/or distribute this software for any
343
- purpose with or without fee is hereby granted.
344
-
345
- THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES WITH
346
- REGARD TO THIS SOFTWARE INCLUDING ALL IMPLIED WARRANTIES OF MERCHANTABILITY
347
- AND FITNESS. IN NO EVENT SHALL THE AUTHOR BE LIABLE FOR ANY SPECIAL, DIRECT,
348
- INDIRECT, OR CONSEQUENTIAL DAMAGES OR ANY DAMAGES WHATSOEVER RESULTING FROM
349
- LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
350
- OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
351
- PERFORMANCE OF THIS SOFTWARE.
352
- ***************************************************************************** */
353
- /* global Reflect, Promise */
354
-
355
-
356
- var __assign = function() {
357
- __assign = Object.assign || function __assign(t) {
358
- for (var s, i = 1, n = arguments.length; i < n; i++) {
359
- s = arguments[i];
360
- for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p)) t[p] = s[p];
361
- }
362
- return t;
363
- };
364
- return __assign.apply(this, arguments);
365
- };
366
-
367
- function __read(o, n) {
368
- var m = typeof Symbol === "function" && o[Symbol.iterator];
369
- if (!m) return o;
370
- var i = m.call(o), r, ar = [], e;
371
- try {
372
- while ((n === void 0 || n-- > 0) && !(r = i.next()).done) ar.push(r.value);
373
- }
374
- catch (error) { e = { error: error }; }
375
- finally {
376
- try {
377
- if (r && !r.done && (m = i["return"])) m.call(i);
378
- }
379
- finally { if (e) throw e.error; }
380
- }
381
- return ar;
382
- }
383
-
384
- function __spreadArray(to, from, pack) {
385
- if (pack || arguments.length === 2) for (var i = 0, l = from.length, ar; i < l; i++) {
386
- if (ar || !(i in from)) {
387
- if (!ar) ar = Array.prototype.slice.call(from, 0, i);
388
- ar[i] = from[i];
389
- }
390
- }
391
- return to.concat(ar || Array.prototype.slice.call(from));
392
- }
393
-
394
339
  function uniq(array, iteratee) {
395
340
  if (!isArray(array)) {
396
341
  return [];
@@ -406,7 +351,7 @@
406
351
  if (other === void 0) { other = []; }
407
352
  array = isArray(array) ? array : [];
408
353
  other = isArray(other) ? other : [];
409
- return uniq(__spreadArray(__spreadArray([], __read(array), false), __read(other), false), iteratee);
354
+ return uniq(array.concat(other), iteratee);
410
355
  }
411
356
 
412
357
  function isArrayLikeObject(value) {
@@ -692,6 +637,7 @@
692
637
  debounced.pending = pending;
693
638
  return debounced;
694
639
  }
640
+
695
641
  function debounce(func, wait, immediate) {
696
642
  if (wait === void 0) { wait = 0; }
697
643
  if (immediate === void 0) { immediate = false; }
@@ -737,7 +683,7 @@
737
683
  for (var _i = 0; _i < arguments.length; _i++) {
738
684
  remainingArgs[_i] = arguments[_i];
739
685
  }
740
- return func.apply(this, __spreadArray(__spreadArray([], __read(args), false), __read(remainingArgs), false));
686
+ return func.apply(this, args.concat(remainingArgs));
741
687
  };
742
688
  }
743
689
 
@@ -894,6 +840,56 @@
894
840
  return min + Math.random() * (max - min);
895
841
  }
896
842
 
843
+ function getSymbols(object) {
844
+ if (!objectGetOwnPropertySymbols || object === null) {
845
+ return [];
846
+ }
847
+ return objectGetOwnPropertySymbols(object).filter(function (item) {
848
+ return propertyIsEnumerable.call(object, item);
849
+ });
850
+ }
851
+
852
+ function allKeys(object) {
853
+ if (!isObject(object)) {
854
+ return [];
855
+ }
856
+ return Object.keys(object).concat(getSymbols(object));
857
+ }
858
+
859
+ function getKeysIn(object) {
860
+ var result = [];
861
+ for (var key in object) {
862
+ result.push(key);
863
+ }
864
+ return result;
865
+ }
866
+
867
+ function getSymbolsIn(object) {
868
+ var result = [];
869
+ var o = Object(object);
870
+ while (o) {
871
+ getSymbols(o).forEach(function (item) {
872
+ result.push(item);
873
+ });
874
+ o = Object.getPrototypeOf(o);
875
+ }
876
+ return result;
877
+ }
878
+
879
+ function allKeysIn(object) {
880
+ if (!isObject(object)) {
881
+ return [];
882
+ }
883
+ return getKeysIn(object).concat(getSymbolsIn(object));
884
+ }
885
+
886
+ function keysIn(object) {
887
+ if (!isObject(object)) {
888
+ return [];
889
+ }
890
+ return getKeysIn(object);
891
+ }
892
+
897
893
  function baseMerge(object, source, customizer, storage) {
898
894
  if (storage === void 0) { storage = new WeakMap(); }
899
895
  var obj = Object(object);
@@ -941,39 +937,14 @@
941
937
 
942
938
  function omit(object, fields) {
943
939
  if (fields === void 0) { fields = []; }
944
- var shallowCopy = __assign({}, object);
940
+ var keys = allKeysIn(object);
945
941
  var fieldArr = castArray(fields);
946
- for (var i = 0; i < fieldArr.length; i++) {
947
- var field = fieldArr[i];
948
- delete shallowCopy[field];
949
- }
950
- return shallowCopy;
951
- }
952
-
953
- function getKeysIn(object) {
954
- var result = [];
955
- for (var key in object) {
956
- result.push(key);
957
- }
958
- return result;
959
- }
960
-
961
- function getSymbols(object) {
962
- if (!objectGetOwnPropertySymbols || object === null) {
963
- return [];
964
- }
965
- return objectGetOwnPropertySymbols(object).filter(function (item) {
966
- return propertyIsEnumerable.call(object, item);
942
+ var result = {};
943
+ keys.forEach(function (key) {
944
+ if (!fieldArr.includes(key)) {
945
+ result[key] = object[key];
946
+ }
967
947
  });
968
- }
969
-
970
- function getSymbolsIn(object) {
971
- var result = [];
972
- var o = Object(object);
973
- while (o) {
974
- result.push.apply(result, __spreadArray([], __read(getSymbols(o)), false));
975
- o = Object.getPrototypeOf(o);
976
- }
977
948
  return result;
978
949
  }
979
950
 
@@ -983,13 +954,12 @@
983
954
  if (object === null) {
984
955
  return result;
985
956
  }
986
- var allKeys = __spreadArray(__spreadArray([], __read(getKeysIn(object)), false), __read(getSymbolsIn(object)), false);
987
- for (var i = 0; i < allKeys.length; i++) {
988
- var currentKey = allKeys[i];
989
- if (predicate(object[currentKey], currentKey)) {
990
- result[currentKey] = object[currentKey];
957
+ var keys = allKeysIn(object);
958
+ keys.forEach(function (key) {
959
+ if (predicate(object[key], key)) {
960
+ result[key] = object[key];
991
961
  }
992
- }
962
+ });
993
963
  return result;
994
964
  }
995
965
 
@@ -1002,12 +972,11 @@
1002
972
  if (fields === void 0) { fields = []; }
1003
973
  var result = {};
1004
974
  var fieldArr = castArray(fields);
1005
- for (var i = 0; i < fieldArr.length; i++) {
1006
- var field = fieldArr[i];
975
+ fieldArr.forEach(function (field) {
1007
976
  if (field in object) {
1008
977
  result[field] = object[field];
1009
978
  }
1010
- }
979
+ });
1011
980
  return result;
1012
981
  }
1013
982
 
@@ -1410,6 +1379,8 @@
1410
1379
  exports.MIN_SAFE_INTEGER = MIN_SAFE_INTEGER;
1411
1380
  exports.VERSION = VERSION;
1412
1381
  exports.after = after;
1382
+ exports.allKeys = allKeys;
1383
+ exports.allKeysIn = allKeysIn;
1413
1384
  exports.before = before;
1414
1385
  exports.camelCase = camelCase;
1415
1386
  exports.capitalize = capitalize;
@@ -1473,6 +1444,7 @@
1473
1444
  exports.isWeakSet = isWeakSet;
1474
1445
  exports.kebabCase = kebabCase;
1475
1446
  exports.keyBy = keyBy;
1447
+ exports.keysIn = keysIn;
1476
1448
  exports.lowerCase = lowerCase;
1477
1449
  exports.lowerFirst = lowerFirst;
1478
1450
  exports.lt = lt;