@valkyriestudios/utils 12.26.0 → 12.27.1

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/index.d.ts CHANGED
@@ -342,13 +342,27 @@ declare module "object/pick" {
342
342
  function pick<T extends Record<string, any>, K extends readonly DottedKeys<T>[]>(obj: T, keys: K): UnionToIntersection<PickFromObject<T, K[number]>>;
343
343
  export { pick, pick as default };
344
344
  }
345
+ declare module "object/omit" {
346
+ type ObjectType = {
347
+ [key: string]: any;
348
+ };
349
+ type DottedKeys<T> = (T extends ObjectType ? {
350
+ [K in keyof T & string]: T[K] extends ObjectType ? K | `${K}.${DottedKeys<T[K]>}` : K;
351
+ }[keyof T & string] : string) & string;
352
+ type OmitFromObject<T, K extends string> = K extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends ObjectType ? {
353
+ [P in keyof T]: P extends Key ? OmitFromObject<T[Key], Rest> : T[P];
354
+ } : T : T : Omit<T, K>;
355
+ function omit<T extends Record<string, any>, K extends readonly DottedKeys<T>[]>(obj: T, keys: K): OmitFromObject<T, K[number]>;
356
+ export { omit, omit as default };
357
+ }
345
358
  declare module "object/index" {
346
359
  import { define } from "object/define";
347
360
  import { isObject } from "object/is";
348
361
  import { isNotEmptyObject } from "object/isNotEmpty";
349
362
  import { merge } from "object/merge";
350
363
  import { pick } from "object/pick";
351
- export { define, isObject, isObject as is, isNotEmptyObject, isNotEmptyObject as isNotEmpty, isNotEmptyObject as isNeObject, isNotEmptyObject as isNe, merge, pick };
364
+ import { omit } from "object/omit";
365
+ export { define, isObject, isObject as is, isNotEmptyObject, isNotEmptyObject as isNotEmpty, isNotEmptyObject as isNeObject, isNotEmptyObject as isNe, merge, pick, omit };
352
366
  }
353
367
  declare module "number/is" {
354
368
  function isNumber(val: unknown): val is number;
@@ -596,16 +610,3 @@ declare module "hash/index" {
596
610
  import { guid } from "hash/guid";
597
611
  export { fnv1A, guid };
598
612
  }
599
- declare module "object/omit" {
600
- type ObjectType = {
601
- [key: string]: any;
602
- };
603
- type DottedKeys<T> = (T extends ObjectType ? {
604
- [K in keyof T & string]: T[K] extends ObjectType ? K | `${K}.${DottedKeys<T[K]>}` : K;
605
- }[keyof T & string] : string) & string;
606
- type OmitFromObject<T, K extends string> = K extends `${infer Key}.${infer Rest}` ? Key extends keyof T ? T[Key] extends ObjectType ? {
607
- [P in keyof T]: P extends Key ? OmitFromObject<T[Key], Rest> : T[P];
608
- } : T : T : Omit<T, K>;
609
- function omit<T extends Record<string, any>, K extends readonly DottedKeys<T>[]>(obj: T, keys: K): OmitFromObject<T, K[number]>;
610
- export { omit, omit as default };
611
- }
package/object/index.d.ts CHANGED
@@ -3,4 +3,5 @@ import { isObject } from './is';
3
3
  import { isNotEmptyObject } from './isNotEmpty';
4
4
  import { merge } from './merge';
5
5
  import { pick } from './pick';
6
- export { define, isObject, isObject as is, isNotEmptyObject, isNotEmptyObject as isNotEmpty, isNotEmptyObject as isNeObject, isNotEmptyObject as isNe, merge, pick };
6
+ import { omit } from './omit';
7
+ export { define, isObject, isObject as is, isNotEmptyObject, isNotEmptyObject as isNotEmpty, isNotEmptyObject as isNeObject, isNotEmptyObject as isNe, merge, pick, omit };
package/object/index.js CHANGED
@@ -1,6 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.pick = exports.merge = exports.isNe = exports.isNeObject = exports.isNotEmpty = exports.isNotEmptyObject = exports.is = exports.isObject = exports.define = void 0;
3
+ exports.omit = exports.pick = exports.merge = exports.isNe = exports.isNeObject = exports.isNotEmpty = exports.isNotEmptyObject = exports.is = exports.isObject = exports.define = void 0;
4
4
  const define_1 = require("./define");
5
5
  Object.defineProperty(exports, "define", { enumerable: true, get: function () { return define_1.define; } });
6
6
  const is_1 = require("./is");
@@ -15,3 +15,5 @@ const merge_1 = require("./merge");
15
15
  Object.defineProperty(exports, "merge", { enumerable: true, get: function () { return merge_1.merge; } });
16
16
  const pick_1 = require("./pick");
17
17
  Object.defineProperty(exports, "pick", { enumerable: true, get: function () { return pick_1.pick; } });
18
+ const omit_1 = require("./omit");
19
+ Object.defineProperty(exports, "omit", { enumerable: true, get: function () { return omit_1.omit; } });
package/object/omit.js CHANGED
@@ -9,11 +9,11 @@ function innerOmit(obj, keys) {
9
9
  const key = keys[i];
10
10
  if (typeof key !== 'string')
11
11
  continue;
12
- const [root, path] = key.trim().split('.', 2);
13
- if (path) {
12
+ const [root, ...rest] = key.trim().split('.');
13
+ if (rest.length) {
14
14
  if (!groups[root])
15
15
  groups[root] = [];
16
- groups[root].push(path);
16
+ groups[root].push(rest.join('.'));
17
17
  }
18
18
  else {
19
19
  delete result[root];
package/package.json CHANGED
@@ -1 +1 @@
1
- { "name": "@valkyriestudios/utils", "version": "12.26.0", "description": "A collection of single-function utilities for common tasks", "author": { "name": "Peter Vermeulen", "url": "https://www.linkedin.com/in/petervermeulen1/" }, "keywords": [ "utility", "library", "javascript", "js", "node", "bun" ], "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/ValkyrieStudios/utils.git" }, "bugs": { "url": "https://github.com/ValkyrieStudios/utils/issues" }, "homepage": "https://github.com/ValkyrieStudios/utils#readme", "types": "index.d.ts" }
1
+ { "name": "@valkyriestudios/utils", "version": "12.27.1", "description": "A collection of single-function utilities for common tasks", "author": { "name": "Peter Vermeulen", "url": "https://www.linkedin.com/in/petervermeulen1/" }, "keywords": [ "utility", "library", "javascript", "js", "node", "bun" ], "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/ValkyrieStudios/utils.git" }, "bugs": { "url": "https://github.com/ValkyrieStudios/utils/issues" }, "homepage": "https://github.com/ValkyrieStudios/utils#readme", "types": "index.d.ts" }