@utilify/object
TypeScript icon, indicating that this package has built-in type declarations

1.0.0 • Public • Published

Utilities - Object

The object utility functions category includes a variety of practical methods for object manipulation, comparison, and transformation. These functions simplify many common operations in JavaScript/TypeScript development when working with objects and data structures.

Installation

To use the functions in this category, install the @utilify/object package with your preferred package manager:

npm

npm install @utilify/object

Yarn

yarn add @utilify/object

pnpm

pnpm add @utilify/object

Usage

You can import specific functions as needed:

ESM

import { clone, deepClone, deepMerge } from '@utilify/object';

CommonJS

const { clone, deepClone, deepMerge } = require('@utilify/object');

Overview

function clone<T extends Record<string, any>>(value: T): T;
function clone<T extends unknown[]>(value: T): T;

Creates a shallow copy of an object or array by directly copying its properties.

function deepClone<T extends Record<string, any>>(value: T): T;
function deepClone<T extends unknown[]>(value: T): T;

Creates a deep copy of an object or array, including all nested properties.

function deepFreeze(obj: Record<string, any>): Record<string, any>;

Deeply freezes an object, making its properties and nested properties immutable.

function deepMerge(...values: Record<string, any>[]): Record<string, any>;

Performs a deep merge of multiple objects, combining their properties recursively.

function flattenObj(obj: Record<string, any>, separator: string = "."): Record<string, any>;

Flattens a nested object into a single-level object with keys representing property paths.

function freeze<T>(obj: T): T;

Freezes an object, making its properties immutable but does not freeze nested properties.

function interpolate(str: string, values: Record<string, any>): string;

Replaces placeholders in a string with values provided in an object.

function isDeepEqual(value1: Record<string, any>, value2: Record<string, any>): boolean;
function isDeepEqual(value1: unknown[], value2: unknown[]): boolean;

Compares two objects or arrays deeply to determine if they are structurally and semantically equal.

function isEqual(value1: any, value2: any): boolean;

Compares two values or references to determine if they are strictly equal using Object.is.

function merge(...values: Record<string, any>[]): Record<string, any>;
function merge(...values: unknown[][]): unknown[];

Performs a shallow merge of multiple objects or arrays, combining their properties or elements into a new object or array.

function omit<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Omit<T, K>;

Creates a new object from the given object, excluding the specified keys.

function pick<T extends Record<string, any>, K extends keyof T>(obj: T, keys: K[]): Pick<T, K>;

Creates a new object containing only the selected keys from the original object.

function sanitizeObj(obj: Record<string, any>, values: any[], replace?: any): Record<string, any>;

Sanitizes an object by replacing specific values with an optional replacement value.

function unflattenObj(obj: Record<string, any>, separator: string = "."): Record<string, any>;

Transforms a flattened object back into its original nested structure using a separator to identify hierarchy levels in the keys.

Package Sidebar

Install

npm i @utilify/object

Weekly Downloads

61

Version

1.0.0

License

MIT

Unpacked Size

12.4 kB

Total Files

6

Last publish

Collaborators

  • pattuzzoj