-
-
Notifications
You must be signed in to change notification settings - Fork 0
5.6 object io
wiki[bot] edited this page Aug 23, 2026
·
1 revision
Utilities for common object operations: cloning, merging, picking, omitting, and emptiness checking.
Deep clones a JSON-like object or array using JSON.parse(JSON.stringify()).
import { clone } from "@triplef/helpers/object-io";function clone<T>(obj: T): T;const original = { a: 1, b: { c: 2 }, arr: [1, 2, 3] };
const copy = clone(original);
copy.b.c = 99; // Only copy is modified
original.b.c; // Still 2Checks if a JSON-like object or array is empty.
import { isEmpty } from "@triplef/helpers/object-io";function isEmpty(obj: Record<string, any> | any[]): boolean;| Input | Result |
|---|---|
{} |
true |
{ a: 1 } |
false |
[] |
true |
[1, 2] |
false |
| Non-object | Throws TypeError
|
isEmpty({}); // true
isEmpty({ a: 1 }); // false
isEmpty([]); // true
isEmpty([1, 2]); // false
isEmpty(null); // throws TypeError
isEmpty("string"); // throws TypeErrorMerges two JSON-like objects with optional deep merging.
import { merge } from "@triplef/helpers/object-io";function merge(
a: Record<string, any>,
b: Record<string, any>,
deep?: boolean
): Record<string, any>;| Parameter | Type | Description |
|---|---|---|
a |
Record<string, any> |
Target object |
b |
Record<string, any> |
Source object |
deep |
boolean |
Enable deep merge (default: false) |
// Shallow merge
const shallow = merge({ a: 1, b: 2 }, { b: 3, c: 4 });
// { a: 1, b: 3, c: 4 }
// Deep merge
const deep = merge({ a: { b: 1 } }, { a: { c: 2 } }, true);
// { a: { b: 1, c: 2 } }Creates a new object by omitting specified keys.
import { omit } from "@triplef/helpers/object-io";function omit<T extends object, K extends keyof T>(
obj: T,
keys: Array<K>
): Omit<T, K>;const user = { id: 1, name: "John", password: "secret", token: "abc" };
const safe = omit(user, ["password", "token"]);
// { id: 1, name: "John" }Creates a new object by selecting only specified keys.
import { pick } from "@triplef/helpers/object-io";function pick<T extends object, K extends keyof T>(
obj: T,
keys: Array<K>
): Pick<T, K>;const user = { id: 1, name: "John", age: 30, email: "john@example.com" };
const basic = pick(user, ["id", "name"]);
// { id: 1, name: "John" }