@valkyriestudios/utils 11.6.0 → 11.7.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/deep/freeze.d.ts +4 -1
- package/deep/seal.d.ts +4 -1
- package/index.d.ts +8 -2
- package/object/merge.js +0 -3
- package/package.json +1 -1
package/deep/freeze.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ type deepInput = {
|
|
|
3
3
|
} | {
|
|
4
4
|
[key: string]: any;
|
|
5
5
|
}[] | any[];
|
|
6
|
+
type Frozen<T> = {
|
|
7
|
+
readonly [K in keyof T]: Frozen<T[K]>;
|
|
8
|
+
};
|
|
6
9
|
/**
|
|
7
10
|
* Recursively freezes all properties of an object
|
|
8
11
|
*
|
|
@@ -10,5 +13,5 @@ type deepInput = {
|
|
|
10
13
|
*
|
|
11
14
|
* @returns Deeply frozen object
|
|
12
15
|
*/
|
|
13
|
-
export default function deepFreeze(obj:
|
|
16
|
+
export default function deepFreeze<T extends deepInput>(obj: T): Frozen<T>;
|
|
14
17
|
export {};
|
package/deep/seal.d.ts
CHANGED
|
@@ -3,6 +3,9 @@ type deepInput = {
|
|
|
3
3
|
} | {
|
|
4
4
|
[key: string]: any;
|
|
5
5
|
}[] | any[];
|
|
6
|
+
type Sealed<T> = {
|
|
7
|
+
[K in keyof T]: Sealed<T[K]>;
|
|
8
|
+
};
|
|
6
9
|
/**
|
|
7
10
|
* Recursively seals all properties of an object
|
|
8
11
|
*
|
|
@@ -10,5 +13,5 @@ type deepInput = {
|
|
|
10
13
|
*
|
|
11
14
|
* @returns Deeply sealed object
|
|
12
15
|
*/
|
|
13
|
-
export default function deepSeal(obj:
|
|
16
|
+
export default function deepSeal<T extends deepInput>(obj: T): Sealed<T>;
|
|
14
17
|
export {};
|
package/index.d.ts
CHANGED
|
@@ -261,7 +261,10 @@ declare module "deep/freeze" {
|
|
|
261
261
|
} | {
|
|
262
262
|
[key: string]: any;
|
|
263
263
|
}[] | any[];
|
|
264
|
-
|
|
264
|
+
type Frozen<T> = {
|
|
265
|
+
readonly [K in keyof T]: Frozen<T[K]>;
|
|
266
|
+
};
|
|
267
|
+
export default function deepFreeze<T extends deepInput>(obj: T): Frozen<T>;
|
|
265
268
|
}
|
|
266
269
|
declare module "deep/get" {
|
|
267
270
|
export default function deepGet(obj: {
|
|
@@ -276,7 +279,10 @@ declare module "deep/seal" {
|
|
|
276
279
|
} | {
|
|
277
280
|
[key: string]: any;
|
|
278
281
|
}[] | any[];
|
|
279
|
-
|
|
282
|
+
type Sealed<T> = {
|
|
283
|
+
[K in keyof T]: Sealed<T[K]>;
|
|
284
|
+
};
|
|
285
|
+
export default function deepSeal<T extends deepInput>(obj: T): Sealed<T>;
|
|
280
286
|
}
|
|
281
287
|
declare module "deep/set" {
|
|
282
288
|
export default function deepSet(obj: {
|
package/object/merge.js
CHANGED
|
@@ -7,10 +7,7 @@ function merge(target, source = {}) {
|
|
|
7
7
|
throw new TypeError('Please pass a target and object to merge');
|
|
8
8
|
const acc = {};
|
|
9
9
|
for (const key in target) {
|
|
10
|
-
if (!Object.prototype.hasOwnProperty.call(target, key))
|
|
11
|
-
continue;
|
|
12
10
|
if (Object.prototype.toString.call(target[key]) === PROTO_OBJ &&
|
|
13
|
-
Object.prototype.hasOwnProperty.call(source, key) &&
|
|
14
11
|
Object.prototype.toString.call(source[key]) === PROTO_OBJ) {
|
|
15
12
|
acc[key] = merge(target[key], source[key]);
|
|
16
13
|
}
|
package/package.json
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{ "name": "@valkyriestudios/utils", "version": "11.
|
|
1
|
+
{ "name": "@valkyriestudios/utils", "version": "11.7.0", "description": "A collection of single-function utilities for common tasks", "author": { "name": "Peter Vermeulen", "email": "contact@valkyriestudios.be", "url": "www.valkyriestudios.be" }, "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" }
|