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/es/allKeys.js ADDED
@@ -0,0 +1,11 @@
1
+ import getSymbols from './internals/getSymbols.js';
2
+ import isObject from './isObject.js';
3
+
4
+ function allKeys(object) {
5
+ if (!isObject(object)) {
6
+ return [];
7
+ }
8
+ return Object.keys(object).concat(getSymbols(object));
9
+ }
10
+
11
+ export { allKeys as default };
@@ -0,0 +1,12 @@
1
+ import getKeysIn from './internals/getKeysIn.js';
2
+ import getSymbolsIn from './internals/getSymbolsIn.js';
3
+ import isObject from './isObject.js';
4
+
5
+ function allKeysIn(object) {
6
+ if (!isObject(object)) {
7
+ return [];
8
+ }
9
+ return getKeysIn(object).concat(getSymbolsIn(object));
10
+ }
11
+
12
+ export { allKeysIn as default };
package/es/debounce.js CHANGED
@@ -1,91 +1,9 @@
1
- import defaultTo from './defaultTo.js';
2
- import { FUNC_ERROR_TEXT } from './internals/helpers.js';
3
- import toNumber from './toNumber.js';
1
+ import baseDebounce from './internals/baseDebounce.js';
4
2
 
5
- function baseDebounce(func, wait, immediate, __throttle__) {
6
- if (__throttle__ === void 0) { __throttle__ = false; }
7
- if (typeof func !== 'function') {
8
- throw new TypeError(FUNC_ERROR_TEXT);
9
- }
10
- var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
11
- wait = defaultTo(toNumber(wait), 0);
12
- function shouldInvoke(time) {
13
- if (lastCallTime === undefined) {
14
- return true;
15
- }
16
- var timeSinceLastCall = time - lastCallTime;
17
- var timeSinceLastInvoke = time - lastInvokeTime;
18
- return (timeSinceLastCall >= wait ||
19
- timeSinceLastCall < 0 ||
20
- (__throttle__ && timeSinceLastInvoke >= wait));
21
- }
22
- function invokeFunc(time) {
23
- lastInvokeTime = time;
24
- result = func.apply(lastThis, lastArgs);
25
- lastThis = lastArgs = undefined;
26
- return result;
27
- }
28
- function debounced() {
29
- var args = [];
30
- for (var _i = 0; _i < arguments.length; _i++) {
31
- args[_i] = arguments[_i];
32
- }
33
- lastThis = this;
34
- lastArgs = args;
35
- var time = Date.now();
36
- var isInvoke = shouldInvoke(time);
37
- var waitTime = !__throttle__
38
- ? wait
39
- : !isInvoke && lastCallTime !== undefined && timer === undefined
40
- ? wait - (time - lastCallTime)
41
- : wait;
42
- lastCallTime = time;
43
- if (isInvoke) {
44
- if (immediate && timer === undefined) {
45
- return invokeFunc(time);
46
- }
47
- }
48
- if (timer !== undefined && !__throttle__) {
49
- clearTimeout(timer);
50
- timer = undefined;
51
- }
52
- if (timer === undefined) {
53
- timer = setTimeout(function () {
54
- timer = undefined;
55
- invokeFunc(Date.now());
56
- }, waitTime);
57
- }
58
- return result;
59
- }
60
- function cancel() {
61
- if (timer !== undefined) {
62
- clearTimeout(timer);
63
- timer = undefined;
64
- }
65
- lastCallTime = timer = lastArgs = lastThis = undefined;
66
- }
67
- function flush() {
68
- if (timer !== undefined) {
69
- clearTimeout(timer);
70
- timer = undefined;
71
- if (lastArgs) {
72
- return invokeFunc(Date.now());
73
- }
74
- }
75
- return result;
76
- }
77
- function pending() {
78
- return timer !== undefined;
79
- }
80
- debounced.cancel = cancel;
81
- debounced.flush = flush;
82
- debounced.pending = pending;
83
- return debounced;
84
- }
85
3
  function debounce(func, wait, immediate) {
86
4
  if (wait === void 0) { wait = 0; }
87
5
  if (immediate === void 0) { immediate = false; }
88
6
  return baseDebounce(func, wait, immediate);
89
7
  }
90
8
 
91
- export { baseDebounce, debounce as default };
9
+ export { debounce as default };
package/es/index.js CHANGED
@@ -31,6 +31,9 @@ export { default as clamp } from './clamp.js';
31
31
  export { default as inRange } from './inRange.js';
32
32
  export { default as random } from './random.js';
33
33
  export { default as randomInt } from './randomInt.js';
34
+ export { default as allKeys } from './allKeys.js';
35
+ export { default as allKeysIn } from './allKeysIn.js';
36
+ export { default as keysIn } from './keysIn.js';
34
37
  export { default as merge } from './merge.js';
35
38
  export { default as omit } from './omit.js';
36
39
  export { default as omitBy } from './omitBy.js';
@@ -0,0 +1,86 @@
1
+ import defaultTo from '../defaultTo.js';
2
+ import toNumber from '../toNumber.js';
3
+ import { FUNC_ERROR_TEXT } from './helpers.js';
4
+
5
+ function baseDebounce(func, wait, immediate, __throttle__) {
6
+ if (__throttle__ === void 0) { __throttle__ = false; }
7
+ if (typeof func !== 'function') {
8
+ throw new TypeError(FUNC_ERROR_TEXT);
9
+ }
10
+ var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
11
+ wait = defaultTo(toNumber(wait), 0);
12
+ function shouldInvoke(time) {
13
+ if (lastCallTime === undefined) {
14
+ return true;
15
+ }
16
+ var timeSinceLastCall = time - lastCallTime;
17
+ var timeSinceLastInvoke = time - lastInvokeTime;
18
+ return (timeSinceLastCall >= wait ||
19
+ timeSinceLastCall < 0 ||
20
+ (__throttle__ && timeSinceLastInvoke >= wait));
21
+ }
22
+ function invokeFunc(time) {
23
+ lastInvokeTime = time;
24
+ result = func.apply(lastThis, lastArgs);
25
+ lastThis = lastArgs = undefined;
26
+ return result;
27
+ }
28
+ function debounced() {
29
+ var args = [];
30
+ for (var _i = 0; _i < arguments.length; _i++) {
31
+ args[_i] = arguments[_i];
32
+ }
33
+ lastThis = this;
34
+ lastArgs = args;
35
+ var time = Date.now();
36
+ var isInvoke = shouldInvoke(time);
37
+ var waitTime = !__throttle__
38
+ ? wait
39
+ : !isInvoke && lastCallTime !== undefined && timer === undefined
40
+ ? wait - (time - lastCallTime)
41
+ : wait;
42
+ lastCallTime = time;
43
+ if (isInvoke) {
44
+ if (immediate && timer === undefined) {
45
+ return invokeFunc(time);
46
+ }
47
+ }
48
+ if (timer !== undefined && !__throttle__) {
49
+ clearTimeout(timer);
50
+ timer = undefined;
51
+ }
52
+ if (timer === undefined) {
53
+ timer = setTimeout(function () {
54
+ timer = undefined;
55
+ invokeFunc(Date.now());
56
+ }, waitTime);
57
+ }
58
+ return result;
59
+ }
60
+ function cancel() {
61
+ if (timer !== undefined) {
62
+ clearTimeout(timer);
63
+ timer = undefined;
64
+ }
65
+ lastCallTime = timer = lastArgs = lastThis = undefined;
66
+ }
67
+ function flush() {
68
+ if (timer !== undefined) {
69
+ clearTimeout(timer);
70
+ timer = undefined;
71
+ if (lastArgs) {
72
+ return invokeFunc(Date.now());
73
+ }
74
+ }
75
+ return result;
76
+ }
77
+ function pending() {
78
+ return timer !== undefined;
79
+ }
80
+ debounced.cancel = cancel;
81
+ debounced.flush = flush;
82
+ debounced.pending = pending;
83
+ return debounced;
84
+ }
85
+
86
+ export { baseDebounce as default };
@@ -1,11 +1,12 @@
1
- import { __spreadArray, __read } from 'tslib';
2
1
  import getSymbols from './getSymbols.js';
3
2
 
4
3
  function getSymbolsIn(object) {
5
4
  var result = [];
6
5
  var o = Object(object);
7
6
  while (o) {
8
- result.push.apply(result, __spreadArray([], __read(getSymbols(o)), false));
7
+ getSymbols(o).forEach(function (item) {
8
+ result.push(item);
9
+ });
9
10
  o = Object.getPrototypeOf(o);
10
11
  }
11
12
  return result;
@@ -8,6 +8,6 @@ var numberIsInteger = Number.isInteger;
8
8
  var numberIsSafeInteger = Number.isSafeInteger;
9
9
  var objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
10
10
  var arrayAt = Array.prototype.at;
11
- var VERSION = "1.0.4";
11
+ var VERSION = "1.1.0";
12
12
 
13
13
  export { FUNC_ERROR_TEXT, VERSION, argType, arrayAt, numberIsFinite, numberIsInteger, numberIsSafeInteger, objectGetOwnPropertySymbols, supportedArgumentsType };
package/es/keysIn.js ADDED
@@ -0,0 +1,11 @@
1
+ import getKeysIn from './internals/getKeysIn.js';
2
+ import isObject from './isObject.js';
3
+
4
+ function keysIn(object) {
5
+ if (!isObject(object)) {
6
+ return [];
7
+ }
8
+ return getKeysIn(object);
9
+ }
10
+
11
+ export { keysIn as default };
package/es/omit.js CHANGED
@@ -1,15 +1,17 @@
1
- import { __assign } from 'tslib';
1
+ import allKeysIn from './allKeysIn.js';
2
2
  import castArray from './castArray.js';
3
3
 
4
4
  function omit(object, fields) {
5
5
  if (fields === void 0) { fields = []; }
6
- var shallowCopy = __assign({}, object);
6
+ var keys = allKeysIn(object);
7
7
  var fieldArr = castArray(fields);
8
- for (var i = 0; i < fieldArr.length; i++) {
9
- var field = fieldArr[i];
10
- delete shallowCopy[field];
11
- }
12
- return shallowCopy;
8
+ var result = {};
9
+ keys.forEach(function (key) {
10
+ if (!fieldArr.includes(key)) {
11
+ result[key] = object[key];
12
+ }
13
+ });
14
+ return result;
13
15
  }
14
16
 
15
17
  export { omit as default };
package/es/partial.js CHANGED
@@ -1,5 +1,3 @@
1
- import { __spreadArray, __read } from 'tslib';
2
-
3
1
  function partial(func) {
4
2
  var args = [];
5
3
  for (var _i = 1; _i < arguments.length; _i++) {
@@ -10,7 +8,7 @@ function partial(func) {
10
8
  for (var _i = 0; _i < arguments.length; _i++) {
11
9
  remainingArgs[_i] = arguments[_i];
12
10
  }
13
- return func.apply(this, __spreadArray(__spreadArray([], __read(args), false), __read(remainingArgs), false));
11
+ return func.apply(this, args.concat(remainingArgs));
14
12
  };
15
13
  }
16
14
 
package/es/pick.js CHANGED
@@ -4,12 +4,11 @@ function pick(object, fields) {
4
4
  if (fields === void 0) { fields = []; }
5
5
  var result = {};
6
6
  var fieldArr = castArray(fields);
7
- for (var i = 0; i < fieldArr.length; i++) {
8
- var field = fieldArr[i];
7
+ fieldArr.forEach(function (field) {
9
8
  if (field in object) {
10
9
  result[field] = object[field];
11
10
  }
12
- }
11
+ });
13
12
  return result;
14
13
  }
15
14
 
package/es/pickBy.js CHANGED
@@ -1,6 +1,4 @@
1
- import { __spreadArray, __read } from 'tslib';
2
- import getKeysIn from './internals/getKeysIn.js';
3
- import getSymbolsIn from './internals/getSymbolsIn.js';
1
+ import allKeysIn from './allKeysIn.js';
4
2
 
5
3
  function pickBy(object, predicate) {
6
4
  if (predicate === void 0) { predicate = function () { return false; }; }
@@ -8,13 +6,12 @@ function pickBy(object, predicate) {
8
6
  if (object === null) {
9
7
  return result;
10
8
  }
11
- var allKeys = __spreadArray(__spreadArray([], __read(getKeysIn(object)), false), __read(getSymbolsIn(object)), false);
12
- for (var i = 0; i < allKeys.length; i++) {
13
- var currentKey = allKeys[i];
14
- if (predicate(object[currentKey], currentKey)) {
15
- result[currentKey] = object[currentKey];
9
+ var keys = allKeysIn(object);
10
+ keys.forEach(function (key) {
11
+ if (predicate(object[key], key)) {
12
+ result[key] = object[key];
16
13
  }
17
- }
14
+ });
18
15
  return result;
19
16
  }
20
17
 
package/es/throttle.js CHANGED
@@ -1,4 +1,4 @@
1
- import { baseDebounce } from './debounce.js';
1
+ import baseDebounce from './internals/baseDebounce.js';
2
2
 
3
3
  function throttle(func, wait, immediate) {
4
4
  if (wait === void 0) { wait = 0; }
package/es/union.js CHANGED
@@ -1,4 +1,3 @@
1
- import { __spreadArray, __read } from 'tslib';
2
1
  import isArray from './isArray.js';
3
2
  import uniq from './uniq.js';
4
3
 
@@ -6,7 +5,7 @@ function union(array, other, iteratee) {
6
5
  if (other === void 0) { other = []; }
7
6
  array = isArray(array) ? array : [];
8
7
  other = isArray(other) ? other : [];
9
- return uniq(__spreadArray(__spreadArray([], __read(array), false), __read(other), false), iteratee);
8
+ return uniq(array.concat(other), iteratee);
10
9
  }
11
10
 
12
11
  export { union as default };
package/lib/allKeys.js ADDED
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var getSymbols = require('./internals/getSymbols.js');
4
+ var isObject = require('./isObject.js');
5
+
6
+ function allKeys(object) {
7
+ if (!isObject(object)) {
8
+ return [];
9
+ }
10
+ return Object.keys(object).concat(getSymbols(object));
11
+ }
12
+
13
+ module.exports = allKeys;
@@ -0,0 +1,14 @@
1
+ 'use strict';
2
+
3
+ var getKeysIn = require('./internals/getKeysIn.js');
4
+ var getSymbolsIn = require('./internals/getSymbolsIn.js');
5
+ var isObject = require('./isObject.js');
6
+
7
+ function allKeysIn(object) {
8
+ if (!isObject(object)) {
9
+ return [];
10
+ }
11
+ return getKeysIn(object).concat(getSymbolsIn(object));
12
+ }
13
+
14
+ module.exports = allKeysIn;
package/lib/debounce.js CHANGED
@@ -1,96 +1,11 @@
1
1
  'use strict';
2
2
 
3
- Object.defineProperty(exports, '__esModule', { value: true });
3
+ var baseDebounce = require('./internals/baseDebounce.js');
4
4
 
5
- var defaultTo = require('./defaultTo.js');
6
- var helpers = require('./internals/helpers.js');
7
- var toNumber = require('./toNumber.js');
8
-
9
- function baseDebounce(func, wait, immediate, __throttle__) {
10
- if (__throttle__ === void 0) { __throttle__ = false; }
11
- if (typeof func !== 'function') {
12
- throw new TypeError(helpers.FUNC_ERROR_TEXT);
13
- }
14
- var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
15
- wait = defaultTo(toNumber(wait), 0);
16
- function shouldInvoke(time) {
17
- if (lastCallTime === undefined) {
18
- return true;
19
- }
20
- var timeSinceLastCall = time - lastCallTime;
21
- var timeSinceLastInvoke = time - lastInvokeTime;
22
- return (timeSinceLastCall >= wait ||
23
- timeSinceLastCall < 0 ||
24
- (__throttle__ && timeSinceLastInvoke >= wait));
25
- }
26
- function invokeFunc(time) {
27
- lastInvokeTime = time;
28
- result = func.apply(lastThis, lastArgs);
29
- lastThis = lastArgs = undefined;
30
- return result;
31
- }
32
- function debounced() {
33
- var args = [];
34
- for (var _i = 0; _i < arguments.length; _i++) {
35
- args[_i] = arguments[_i];
36
- }
37
- lastThis = this;
38
- lastArgs = args;
39
- var time = Date.now();
40
- var isInvoke = shouldInvoke(time);
41
- var waitTime = !__throttle__
42
- ? wait
43
- : !isInvoke && lastCallTime !== undefined && timer === undefined
44
- ? wait - (time - lastCallTime)
45
- : wait;
46
- lastCallTime = time;
47
- if (isInvoke) {
48
- if (immediate && timer === undefined) {
49
- return invokeFunc(time);
50
- }
51
- }
52
- if (timer !== undefined && !__throttle__) {
53
- clearTimeout(timer);
54
- timer = undefined;
55
- }
56
- if (timer === undefined) {
57
- timer = setTimeout(function () {
58
- timer = undefined;
59
- invokeFunc(Date.now());
60
- }, waitTime);
61
- }
62
- return result;
63
- }
64
- function cancel() {
65
- if (timer !== undefined) {
66
- clearTimeout(timer);
67
- timer = undefined;
68
- }
69
- lastCallTime = timer = lastArgs = lastThis = undefined;
70
- }
71
- function flush() {
72
- if (timer !== undefined) {
73
- clearTimeout(timer);
74
- timer = undefined;
75
- if (lastArgs) {
76
- return invokeFunc(Date.now());
77
- }
78
- }
79
- return result;
80
- }
81
- function pending() {
82
- return timer !== undefined;
83
- }
84
- debounced.cancel = cancel;
85
- debounced.flush = flush;
86
- debounced.pending = pending;
87
- return debounced;
88
- }
89
5
  function debounce(func, wait, immediate) {
90
6
  if (wait === void 0) { wait = 0; }
91
7
  if (immediate === void 0) { immediate = false; }
92
8
  return baseDebounce(func, wait, immediate);
93
9
  }
94
10
 
95
- exports.baseDebounce = baseDebounce;
96
- exports.default = debounce;
11
+ module.exports = debounce;
package/lib/index.js CHANGED
@@ -33,6 +33,9 @@ var clamp = require('./clamp.js');
33
33
  var inRange = require('./inRange.js');
34
34
  var random = require('./random.js');
35
35
  var randomInt = require('./randomInt.js');
36
+ var allKeys = require('./allKeys.js');
37
+ var allKeysIn = require('./allKeysIn.js');
38
+ var keysIn = require('./keysIn.js');
36
39
  var merge = require('./merge.js');
37
40
  var omit = require('./omit.js');
38
41
  var omitBy = require('./omitBy.js');
@@ -130,7 +133,7 @@ exports.orderBy = orderBy;
130
133
  exports.partition = partition;
131
134
  exports.after = after;
132
135
  exports.before = before;
133
- exports.debounce = debounce.default;
136
+ exports.debounce = debounce;
134
137
  exports.delay = delay;
135
138
  exports.negate = negate;
136
139
  exports.partial = partial;
@@ -144,6 +147,9 @@ exports.clamp = clamp;
144
147
  exports.inRange = inRange;
145
148
  exports.random = random;
146
149
  exports.randomInt = randomInt;
150
+ exports.allKeys = allKeys;
151
+ exports.allKeysIn = allKeysIn;
152
+ exports.keysIn = keysIn;
147
153
  exports.merge = merge;
148
154
  exports.omit = omit;
149
155
  exports.omitBy = omitBy;
@@ -0,0 +1,88 @@
1
+ 'use strict';
2
+
3
+ var defaultTo = require('../defaultTo.js');
4
+ var toNumber = require('../toNumber.js');
5
+ var helpers = require('./helpers.js');
6
+
7
+ function baseDebounce(func, wait, immediate, __throttle__) {
8
+ if (__throttle__ === void 0) { __throttle__ = false; }
9
+ if (typeof func !== 'function') {
10
+ throw new TypeError(helpers.FUNC_ERROR_TEXT);
11
+ }
12
+ var timer, lastCallTime, lastInvokeTime, lastArgs, lastThis, result;
13
+ wait = defaultTo(toNumber(wait), 0);
14
+ function shouldInvoke(time) {
15
+ if (lastCallTime === undefined) {
16
+ return true;
17
+ }
18
+ var timeSinceLastCall = time - lastCallTime;
19
+ var timeSinceLastInvoke = time - lastInvokeTime;
20
+ return (timeSinceLastCall >= wait ||
21
+ timeSinceLastCall < 0 ||
22
+ (__throttle__ && timeSinceLastInvoke >= wait));
23
+ }
24
+ function invokeFunc(time) {
25
+ lastInvokeTime = time;
26
+ result = func.apply(lastThis, lastArgs);
27
+ lastThis = lastArgs = undefined;
28
+ return result;
29
+ }
30
+ function debounced() {
31
+ var args = [];
32
+ for (var _i = 0; _i < arguments.length; _i++) {
33
+ args[_i] = arguments[_i];
34
+ }
35
+ lastThis = this;
36
+ lastArgs = args;
37
+ var time = Date.now();
38
+ var isInvoke = shouldInvoke(time);
39
+ var waitTime = !__throttle__
40
+ ? wait
41
+ : !isInvoke && lastCallTime !== undefined && timer === undefined
42
+ ? wait - (time - lastCallTime)
43
+ : wait;
44
+ lastCallTime = time;
45
+ if (isInvoke) {
46
+ if (immediate && timer === undefined) {
47
+ return invokeFunc(time);
48
+ }
49
+ }
50
+ if (timer !== undefined && !__throttle__) {
51
+ clearTimeout(timer);
52
+ timer = undefined;
53
+ }
54
+ if (timer === undefined) {
55
+ timer = setTimeout(function () {
56
+ timer = undefined;
57
+ invokeFunc(Date.now());
58
+ }, waitTime);
59
+ }
60
+ return result;
61
+ }
62
+ function cancel() {
63
+ if (timer !== undefined) {
64
+ clearTimeout(timer);
65
+ timer = undefined;
66
+ }
67
+ lastCallTime = timer = lastArgs = lastThis = undefined;
68
+ }
69
+ function flush() {
70
+ if (timer !== undefined) {
71
+ clearTimeout(timer);
72
+ timer = undefined;
73
+ if (lastArgs) {
74
+ return invokeFunc(Date.now());
75
+ }
76
+ }
77
+ return result;
78
+ }
79
+ function pending() {
80
+ return timer !== undefined;
81
+ }
82
+ debounced.cancel = cancel;
83
+ debounced.flush = flush;
84
+ debounced.pending = pending;
85
+ return debounced;
86
+ }
87
+
88
+ module.exports = baseDebounce;
@@ -1,13 +1,14 @@
1
1
  'use strict';
2
2
 
3
- var tslib = require('tslib');
4
3
  var getSymbols = require('./getSymbols.js');
5
4
 
6
5
  function getSymbolsIn(object) {
7
6
  var result = [];
8
7
  var o = Object(object);
9
8
  while (o) {
10
- result.push.apply(result, tslib.__spreadArray([], tslib.__read(getSymbols(o)), false));
9
+ getSymbols(o).forEach(function (item) {
10
+ result.push(item);
11
+ });
11
12
  o = Object.getPrototypeOf(o);
12
13
  }
13
14
  return result;
@@ -10,4 +10,4 @@ exports.numberIsInteger = Number.isInteger;
10
10
  exports.numberIsSafeInteger = Number.isSafeInteger;
11
11
  exports.objectGetOwnPropertySymbols = Object.getOwnPropertySymbols;
12
12
  exports.arrayAt = Array.prototype.at;
13
- exports.VERSION = "1.0.4";
13
+ exports.VERSION = "1.1.0";
package/lib/keysIn.js ADDED
@@ -0,0 +1,13 @@
1
+ 'use strict';
2
+
3
+ var getKeysIn = require('./internals/getKeysIn.js');
4
+ var isObject = require('./isObject.js');
5
+
6
+ function keysIn(object) {
7
+ if (!isObject(object)) {
8
+ return [];
9
+ }
10
+ return getKeysIn(object);
11
+ }
12
+
13
+ module.exports = keysIn;
package/lib/omit.js CHANGED
@@ -1,17 +1,19 @@
1
1
  'use strict';
2
2
 
3
- var tslib = require('tslib');
3
+ var allKeysIn = require('./allKeysIn.js');
4
4
  var castArray = require('./castArray.js');
5
5
 
6
6
  function omit(object, fields) {
7
7
  if (fields === void 0) { fields = []; }
8
- var shallowCopy = tslib.__assign({}, object);
8
+ var keys = allKeysIn(object);
9
9
  var fieldArr = castArray(fields);
10
- for (var i = 0; i < fieldArr.length; i++) {
11
- var field = fieldArr[i];
12
- delete shallowCopy[field];
13
- }
14
- return shallowCopy;
10
+ var result = {};
11
+ keys.forEach(function (key) {
12
+ if (!fieldArr.includes(key)) {
13
+ result[key] = object[key];
14
+ }
15
+ });
16
+ return result;
15
17
  }
16
18
 
17
19
  module.exports = omit;