Skip to content

Class: Objectable<T> ​

Defined in: src/obj.ts:7

Fluent object manipulation class with state tracking.

Type Parameters ​

T ​

T extends Record<string, unknown>

Constructors ​

Constructor ​

new Objectable<T>(value): Objectable<T>

Defined in: src/obj.ts:16

Create a new Objectable instance.

Parameters ​

value ​

T

The initial object value

Returns ​

Objectable<T>

Methods ​

toObject() ​

toObject(): T

Defined in: src/obj.ts:26

Get the current object state.

Returns ​

T

The current object


get() ​

get(): T

Defined in: src/obj.ts:35

Alias for toObject().

Returns ​

T

The current object


getOriginal() ​

getOriginal(): T

Defined in: src/obj.ts:44

Get the original state from construction.

Returns ​

T

The original object


syncOriginal() ​

syncOriginal(): this

Defined in: src/obj.ts:53

Sync original state with current state (marking it as clean).

Returns ​

this

The Objectable instance


isDirty() ​

isDirty(key?): boolean

Defined in: src/obj.ts:64

Determine if any attribute has been modified.

Parameters ​

key? ​

string

Optional key to check specifically

Returns ​

boolean

True if dirty, false otherwise


isClean() ​

isClean(key?): boolean

Defined in: src/obj.ts:77

Determine if the object is equivalent to its original state.

Parameters ​

key? ​

string

Optional key to check specifically

Returns ​

boolean

True if clean, false otherwise


getDirty() ​

getDirty(): Partial<T>

Defined in: src/obj.ts:86

Get the attributes that have been modified.

Returns ​

Partial<T>

The dirty attributes


dataGet() ​

dataGet(key, defaultValue?): unknown

Defined in: src/obj.ts:97

Get a value by dot notation.

Parameters ​

key ​

string

The key to retrieve

defaultValue? ​

unknown = null

The default value if not found

Returns ​

unknown

The retrieved value


dataSet() ​

dataSet(key, value): this

Defined in: src/obj.ts:108

Set a value by dot notation.

Parameters ​

key ​

string

The key to set

value ​

unknown

The value to set

Returns ​

this

The Objectable instance


only() ​

only<K>(keys): Objectable<Pick<T, K>>

Defined in: src/obj.ts:119

Get only specified keys.

Type Parameters ​

K ​

K extends string | number | symbol

Parameters ​

keys ​

K[]

The keys to include

Returns ​

Objectable<Pick<T, K>>

A new Objectable instance


except() ​

except<K>(keys): Objectable<Omit<T, K>>

Defined in: src/obj.ts:136

Get all keys except specified ones.

Type Parameters ​

K ​

K extends string | number | symbol

Parameters ​

keys ​

K[]

The keys to exclude

Returns ​

Objectable<Omit<T, K>>

A new Objectable instance


map() ​

map<U>(callback): Record<string, U>

Defined in: src/obj.ts:151

Map over object entries.

Type Parameters ​

U ​

U

Parameters ​

callback ​

(value, key) => U

The callback to execute

Returns ​

Record<string, U>

The resulting object


filter() ​

filter(callback): this

Defined in: src/obj.ts:165

Filter object entries.

Parameters ​

callback ​

(value, key) => boolean

The callback to execute

Returns ​

this

The Objectable instance


merge() ​

merge<U>(other): Objectable<T & U>

Defined in: src/obj.ts:182

Merge with another object.

Type Parameters ​

U ​

U extends Record<string, unknown>

Parameters ​

other ​

U

The object to merge with

Returns ​

Objectable<T & U>

A new Objectable instance


mergeDeep() ​

mergeDeep(other): this

Defined in: src/obj.ts:192

Deep merge with another object (non-mutating on source).

Parameters ​

other ​

Record<string, unknown>

The object to deep merge with

Returns ​

this

The Objectable instance


has() ​

has(key): boolean

Defined in: src/obj.ts:223

Check if object has key.

Parameters ​

key ​

string

The key to check

Returns ​

boolean

True if key exists


keys() ​

keys(): string[]

Defined in: src/obj.ts:232

Get keys.

Returns ​

string[]

The object keys


values() ​

values(): unknown[]

Defined in: src/obj.ts:241

Get values.

Returns ​

unknown[]

The object values


clone() ​

clone(): Objectable<T>

Defined in: src/obj.ts:250

Clone the object.

Returns ​

Objectable<T>

A new cloned Objectable instance


pipe() ​

pipe<U>(callback): U

Defined in: src/obj.ts:260

Pipe to a callback.

Type Parameters ​

U ​

U

Parameters ​

callback ​

(obj) => U

The callback to execute

Returns ​

U

The result of the callback


when() ​

when(condition, callback): this

Defined in: src/obj.ts:271

Execute callback if condition is met.

Parameters ​

condition ​

boolean | (() => boolean)

The condition to check

callback ​

(obj) => void

The callback to execute

Returns ​

this

The Objectable instance

Documentation of 1.0.13 , built from cf61d3b on 1.0.13 by pipeline #2985011498 on 2026-10-21.