Appearance
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