@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 +15 -14
- package/object/index.d.ts +2 -1
- package/object/index.js +3 -1
- package/object/omit.js +3 -3
- package/package.json +1 -1
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
|
-
|
|
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
|
-
|
|
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,
|
|
13
|
-
if (
|
|
12
|
+
const [root, ...rest] = key.trim().split('.');
|
|
13
|
+
if (rest.length) {
|
|
14
14
|
if (!groups[root])
|
|
15
15
|
groups[root] = [];
|
|
16
|
-
groups[root].push(
|
|
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.
|
|
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" }
|