es-toolkit 1.36.0-dev.1235 → 1.36.0-dev.1237

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.
@@ -25,7 +25,6 @@ export { randomInt } from '../math/randomInt.mjs';
25
25
  export { clone } from '../object/clone.mjs';
26
26
  export { flattenObject } from '../object/flattenObject.mjs';
27
27
  export { invert } from '../object/invert.mjs';
28
- export { omitBy } from '../object/omitBy.mjs';
29
28
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.mjs';
30
29
  export { toMerged } from '../object/toMerged.mjs';
31
30
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.mjs';
@@ -202,6 +201,7 @@ export { mapValues } from './object/mapValues.mjs';
202
201
  export { merge } from './object/merge.mjs';
203
202
  export { mergeWith } from './object/mergeWith.mjs';
204
203
  export { omit } from './object/omit.mjs';
204
+ export { omitBy } from './object/omitBy.mjs';
205
205
  export { pick } from './object/pick.mjs';
206
206
  export { pickBy } from './object/pickBy.mjs';
207
207
  export { property } from './object/property.mjs';
@@ -25,7 +25,6 @@ export { randomInt } from '../math/randomInt.js';
25
25
  export { clone } from '../object/clone.js';
26
26
  export { flattenObject } from '../object/flattenObject.js';
27
27
  export { invert } from '../object/invert.js';
28
- export { omitBy } from '../object/omitBy.js';
29
28
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.js';
30
29
  export { toMerged } from '../object/toMerged.js';
31
30
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.js';
@@ -202,6 +201,7 @@ export { mapValues } from './object/mapValues.js';
202
201
  export { merge } from './object/merge.js';
203
202
  export { mergeWith } from './object/mergeWith.js';
204
203
  export { omit } from './object/omit.js';
204
+ export { omitBy } from './object/omitBy.js';
205
205
  export { pick } from './object/pick.js';
206
206
  export { pickBy } from './object/pickBy.js';
207
207
  export { property } from './object/property.js';
@@ -29,7 +29,6 @@ export { isPrimitive } from '../predicate/isPrimitive.mjs';
29
29
  export { flattenObject } from '../object/flattenObject.mjs';
30
30
  export { invert } from '../object/invert.mjs';
31
31
  export { isObjectLike } from './predicate/isObjectLike.mjs';
32
- export { omitBy } from '../object/omitBy.mjs';
33
32
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.mjs';
34
33
  export { toMerged } from '../object/toMerged.mjs';
35
34
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.mjs';
@@ -207,6 +206,7 @@ export { mapValues } from './object/mapValues.mjs';
207
206
  export { merge } from './object/merge.mjs';
208
207
  export { mergeWith } from './object/mergeWith.mjs';
209
208
  export { omit } from './object/omit.mjs';
209
+ export { omitBy } from './object/omitBy.mjs';
210
210
  export { pick } from './object/pick.mjs';
211
211
  export { pickBy } from './object/pickBy.mjs';
212
212
  export { property } from './object/property.mjs';
@@ -25,7 +25,6 @@ export { randomInt } from '../math/randomInt.mjs';
25
25
  export { clone } from '../object/clone.mjs';
26
26
  export { flattenObject } from '../object/flattenObject.mjs';
27
27
  export { invert } from '../object/invert.mjs';
28
- export { omitBy } from '../object/omitBy.mjs';
29
28
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.mjs';
30
29
  export { toMerged } from '../object/toMerged.mjs';
31
30
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.mjs';
@@ -202,6 +201,7 @@ export { mapValues } from './object/mapValues.mjs';
202
201
  export { merge } from './object/merge.mjs';
203
202
  export { mergeWith } from './object/mergeWith.mjs';
204
203
  export { omit } from './object/omit.mjs';
204
+ export { omitBy } from './object/omitBy.mjs';
205
205
  export { pick } from './object/pick.mjs';
206
206
  export { pickBy } from './object/pickBy.mjs';
207
207
  export { property } from './object/property.mjs';
@@ -25,7 +25,6 @@ export { randomInt } from '../math/randomInt.js';
25
25
  export { clone } from '../object/clone.js';
26
26
  export { flattenObject } from '../object/flattenObject.js';
27
27
  export { invert } from '../object/invert.js';
28
- export { omitBy } from '../object/omitBy.js';
29
28
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.js';
30
29
  export { toMerged } from '../object/toMerged.js';
31
30
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.js';
@@ -202,6 +201,7 @@ export { mapValues } from './object/mapValues.js';
202
201
  export { merge } from './object/merge.js';
203
202
  export { mergeWith } from './object/mergeWith.js';
204
203
  export { omit } from './object/omit.js';
204
+ export { omitBy } from './object/omitBy.js';
205
205
  export { pick } from './object/pick.js';
206
206
  export { pickBy } from './object/pickBy.js';
207
207
  export { property } from './object/property.js';
@@ -9,7 +9,7 @@ const error_index = require('../error/index.js');
9
9
  const unary = require('../_chunk/unary-EIEhcF.js');
10
10
  const noop = require('../_chunk/noop-2IwLUk.js');
11
11
  const range$1 = require('../_chunk/range-HnEIT7.js');
12
- const toSnakeCaseKeys = require('../_chunk/toSnakeCaseKeys-BDyvjr.js');
12
+ const toSnakeCaseKeys = require('../_chunk/toSnakeCaseKeys-kqZCyq.js');
13
13
  const isPlainObject = require('../_chunk/isPlainObject-Xaozpc.js');
14
14
  const isWeakSet$1 = require('../_chunk/isWeakSet-C2NpfO.js');
15
15
  const promise_index = require('../promise/index.js');
@@ -3214,6 +3214,34 @@ function omit(obj, ...keysArr) {
3214
3214
  return result;
3215
3215
  }
3216
3216
 
3217
+ function getSymbolsIn(object) {
3218
+ const result = [];
3219
+ while (object) {
3220
+ result.push(...isPlainObject.getSymbols(object));
3221
+ object = Object.getPrototypeOf(object);
3222
+ }
3223
+ return result;
3224
+ }
3225
+
3226
+ function omitBy(obj, shouldOmit) {
3227
+ if (obj == null) {
3228
+ return {};
3229
+ }
3230
+ const result = {};
3231
+ if (shouldOmit == null) {
3232
+ return {};
3233
+ }
3234
+ const keys = isArrayLike(obj) ? range$1.range(0, obj.length) : [...keysIn(obj), ...getSymbolsIn(obj)];
3235
+ for (let i = 0; i < keys.length; i++) {
3236
+ const key = (zip$1.isSymbol(keys[i]) ? keys[i] : keys[i].toString());
3237
+ const value = obj[key];
3238
+ if (!shouldOmit(value, key, obj)) {
3239
+ result[key] = value;
3240
+ }
3241
+ }
3242
+ return result;
3243
+ }
3244
+
3217
3245
  function pick(obj, ...keysArr) {
3218
3246
  if (isNil(obj)) {
3219
3247
  return {};
@@ -3256,15 +3284,6 @@ function pick(obj, ...keysArr) {
3256
3284
  return result;
3257
3285
  }
3258
3286
 
3259
- function getSymbolsIn(object) {
3260
- const result = [];
3261
- while (object) {
3262
- result.push(...isPlainObject.getSymbols(object));
3263
- object = Object.getPrototypeOf(object);
3264
- }
3265
- return result;
3266
- }
3267
-
3268
3287
  function pickBy(obj, shouldPick) {
3269
3288
  if (obj == null) {
3270
3289
  return {};
@@ -4211,7 +4230,7 @@ const compat = /*#__PURE__*/Object.freeze(/*#__PURE__*/Object.defineProperty({
4211
4230
  nth,
4212
4231
  nthArg,
4213
4232
  omit,
4214
- omitBy: toSnakeCaseKeys.omitBy,
4233
+ omitBy,
4215
4234
  once: unary.once,
4216
4235
  orderBy,
4217
4236
  over,
@@ -4379,7 +4398,6 @@ exports.invert = toSnakeCaseKeys.invert;
4379
4398
  exports.isArray = toSnakeCaseKeys.isArray;
4380
4399
  exports.isObjectLike = toSnakeCaseKeys.isObjectLike;
4381
4400
  exports.isPlainObject = toSnakeCaseKeys.isPlainObject;
4382
- exports.omitBy = toSnakeCaseKeys.omitBy;
4383
4401
  exports.toCamelCaseKeys = toSnakeCaseKeys.toCamelCaseKeys;
4384
4402
  exports.toMerged = toSnakeCaseKeys.toMerged;
4385
4403
  exports.toSnakeCaseKeys = toSnakeCaseKeys.toSnakeCaseKeys;
@@ -4559,6 +4577,7 @@ exports.now = now;
4559
4577
  exports.nth = nth;
4560
4578
  exports.nthArg = nthArg;
4561
4579
  exports.omit = omit;
4580
+ exports.omitBy = omitBy;
4562
4581
  exports.orderBy = orderBy;
4563
4582
  exports.over = over;
4564
4583
  exports.overEvery = overEvery;
@@ -29,7 +29,6 @@ export { isPrimitive } from '../predicate/isPrimitive.mjs';
29
29
  export { flattenObject } from '../object/flattenObject.mjs';
30
30
  export { invert } from '../object/invert.mjs';
31
31
  export { isObjectLike } from './predicate/isObjectLike.mjs';
32
- export { omitBy } from '../object/omitBy.mjs';
33
32
  export { toCamelCaseKeys } from '../object/toCamelCaseKeys.mjs';
34
33
  export { toMerged } from '../object/toMerged.mjs';
35
34
  export { toSnakeCaseKeys } from '../object/toSnakeCaseKeys.mjs';
@@ -207,6 +206,7 @@ export { mapValues } from './object/mapValues.mjs';
207
206
  export { merge } from './object/merge.mjs';
208
207
  export { mergeWith } from './object/mergeWith.mjs';
209
208
  export { omit } from './object/omit.mjs';
209
+ export { omitBy } from './object/omitBy.mjs';
210
210
  export { pick } from './object/pick.mjs';
211
211
  export { pickBy } from './object/pickBy.mjs';
212
212
  export { property } from './object/property.mjs';
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Creates a new object composed of the properties that do not satisfy the predicate function.
3
+ *
4
+ * This function takes an object and a predicate function, and returns a new object that
5
+ * includes only the properties for which the predicate function returns false.
6
+ *
7
+ * @template T - The type of object.
8
+ * @param {T} obj - The object to omit properties from.
9
+ * @param {(value: T[keyof T], key: keyof T, obj: T) => boolean} shouldOmit - A predicate function that determines
10
+ * whether a property should be omitted. It takes the property's value, key, and the source object as arguments and returns `true`
11
+ * if the property should be omitted, and `false` otherwise.
12
+ * @returns {Partial<T>} Returns the new object.
13
+ *
14
+ * @example
15
+ * const obj = { a: 1, b: 'omit', c: 3 };
16
+ * const shouldOmit = (value) => typeof value === 'string';
17
+ * const result = omitBy(obj, shouldOmit);
18
+ * // result will be { a: 1, c: 3 }
19
+ */
20
+ declare function omitBy<T extends Record<string, any>>(obj: T, shouldOmit?: (value: T[keyof T], key: keyof T, obj: T) => boolean): Partial<T>;
21
+
22
+ export { omitBy };
@@ -0,0 +1,22 @@
1
+ /**
2
+ * Creates a new object composed of the properties that do not satisfy the predicate function.
3
+ *
4
+ * This function takes an object and a predicate function, and returns a new object that
5
+ * includes only the properties for which the predicate function returns false.
6
+ *
7
+ * @template T - The type of object.
8
+ * @param {T} obj - The object to omit properties from.
9
+ * @param {(value: T[keyof T], key: keyof T, obj: T) => boolean} shouldOmit - A predicate function that determines
10
+ * whether a property should be omitted. It takes the property's value, key, and the source object as arguments and returns `true`
11
+ * if the property should be omitted, and `false` otherwise.
12
+ * @returns {Partial<T>} Returns the new object.
13
+ *
14
+ * @example
15
+ * const obj = { a: 1, b: 'omit', c: 3 };
16
+ * const shouldOmit = (value) => typeof value === 'string';
17
+ * const result = omitBy(obj, shouldOmit);
18
+ * // result will be { a: 1, c: 3 }
19
+ */
20
+ declare function omitBy<T extends Record<string, any>>(obj: T, shouldOmit?: (value: T[keyof T], key: keyof T, obj: T) => boolean): Partial<T>;
21
+
22
+ export { omitBy };
@@ -0,0 +1,26 @@
1
+ import { keysIn } from './keysIn.mjs';
2
+ import { range } from '../../math/range.mjs';
3
+ import { getSymbolsIn } from '../_internal/getSymbolsIn.mjs';
4
+ import { isArrayLike } from '../predicate/isArrayLike.mjs';
5
+ import { isSymbol } from '../predicate/isSymbol.mjs';
6
+
7
+ function omitBy(obj, shouldOmit) {
8
+ if (obj == null) {
9
+ return {};
10
+ }
11
+ const result = {};
12
+ if (shouldOmit == null) {
13
+ return {};
14
+ }
15
+ const keys = isArrayLike(obj) ? range(0, obj.length) : [...keysIn(obj), ...getSymbolsIn(obj)];
16
+ for (let i = 0; i < keys.length; i++) {
17
+ const key = (isSymbol(keys[i]) ? keys[i] : keys[i].toString());
18
+ const value = obj[key];
19
+ if (!shouldOmit(value, key, obj)) {
20
+ result[key] = value;
21
+ }
22
+ }
23
+ return result;
24
+ }
25
+
26
+ export { omitBy };
package/dist/index.js CHANGED
@@ -12,7 +12,7 @@ const noop = require('./_chunk/noop-2IwLUk.js');
12
12
  const range = require('./_chunk/range-HnEIT7.js');
13
13
  const randomInt = require('./_chunk/randomInt-CF7bZK.js');
14
14
  const math_index = require('./math/index.js');
15
- const toSnakeCaseKeys = require('./_chunk/toSnakeCaseKeys-BDyvjr.js');
15
+ const toSnakeCaseKeys = require('./_chunk/toSnakeCaseKeys-kqZCyq.js');
16
16
  const object_index = require('./object/index.js');
17
17
  const isWeakSet = require('./_chunk/isWeakSet-C2NpfO.js');
18
18
  const predicate_index = require('./predicate/index.js');
@@ -132,12 +132,12 @@ exports.invert = toSnakeCaseKeys.invert;
132
132
  exports.mapKeys = toSnakeCaseKeys.mapKeys;
133
133
  exports.mapValues = toSnakeCaseKeys.mapValues;
134
134
  exports.merge = toSnakeCaseKeys.merge;
135
- exports.omitBy = toSnakeCaseKeys.omitBy;
136
135
  exports.toCamelCaseKeys = toSnakeCaseKeys.toCamelCaseKeys;
137
136
  exports.toMerged = toSnakeCaseKeys.toMerged;
138
137
  exports.toSnakeCaseKeys = toSnakeCaseKeys.toSnakeCaseKeys;
139
138
  exports.mergeWith = object_index.mergeWith;
140
139
  exports.omit = object_index.omit;
140
+ exports.omitBy = object_index.omitBy;
141
141
  exports.pick = object_index.pick;
142
142
  exports.pickBy = object_index.pickBy;
143
143
  exports.isArrayBuffer = isWeakSet.isArrayBuffer;
@@ -2,7 +2,7 @@
2
2
 
3
3
  Object.defineProperty(exports, Symbol.toStringTag, { value: 'Module' });
4
4
 
5
- const toSnakeCaseKeys = require('../_chunk/toSnakeCaseKeys-BDyvjr.js');
5
+ const toSnakeCaseKeys = require('../_chunk/toSnakeCaseKeys-kqZCyq.js');
6
6
 
7
7
  function mergeWith(target, source, merge) {
8
8
  const sourceKeys = Object.keys(source);
@@ -36,6 +36,19 @@ function omit(obj, keys) {
36
36
  return result;
37
37
  }
38
38
 
39
+ function omitBy(obj, shouldOmit) {
40
+ const result = {};
41
+ const keys = Object.keys(obj);
42
+ for (let i = 0; i < keys.length; i++) {
43
+ const key = keys[i];
44
+ const value = obj[key];
45
+ if (!shouldOmit(value, key)) {
46
+ result[key] = value;
47
+ }
48
+ }
49
+ return result;
50
+ }
51
+
39
52
  function pick(obj, keys) {
40
53
  const result = {};
41
54
  for (let i = 0; i < keys.length; i++) {
@@ -69,11 +82,11 @@ exports.invert = toSnakeCaseKeys.invert;
69
82
  exports.mapKeys = toSnakeCaseKeys.mapKeys;
70
83
  exports.mapValues = toSnakeCaseKeys.mapValues;
71
84
  exports.merge = toSnakeCaseKeys.merge;
72
- exports.omitBy = toSnakeCaseKeys.omitBy;
73
85
  exports.toCamelCaseKeys = toSnakeCaseKeys.toCamelCaseKeys;
74
86
  exports.toMerged = toSnakeCaseKeys.toMerged;
75
87
  exports.toSnakeCaseKeys = toSnakeCaseKeys.toSnakeCaseKeys;
76
88
  exports.mergeWith = mergeWith;
77
89
  exports.omit = omit;
90
+ exports.omitBy = omitBy;
78
91
  exports.pick = pick;
79
92
  exports.pickBy = pickBy;
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "es-toolkit",
3
3
  "description": "A state-of-the-art, high-performance JavaScript utility library with a small bundle size and strong type annotations.",
4
- "version": "1.36.0-dev.1235+24e04d30",
4
+ "version": "1.36.0-dev.1237+cf65b69c",
5
5
  "homepage": "https://es-toolkit.slash.page",
6
6
  "bugs": "https://github.com/toss/es-toolkit/issues",
7
7
  "repository": {