Skip to main content

🔑 Object Utilities

Module: object/* | Operators: 18

Access and manipulate object properties safely.


Operator Reference

object/keys

Keys · 1 argument · returns array

Get object keys as array

ParameterTypeDescription
objobjectThe object
(object/keys {"a": 1 "b": 2}) // => ["a", "b"]

object/values

Values · 1 argument · returns array

Get object values as array

ParameterTypeDescription
objobjectThe object
(object/values {"a": 1 "b": 2}) // => [1, 2]

object/entries

Entries · 1 argument · returns array

Get [key, value] pairs as array

ParameterTypeDescription
objobjectThe object
(object/entries {"a": 1}) // => [["a", 1]]

object/fromEntries

From Entries · 1 argument · returns any

Create object from [key, value] pairs

ParameterTypeDescription
entriesarrayArray of [key, value] pairs
(object/fromEntries [["a" 1] ["b" 2]]) // => {"a": 1, "b": 2}

object/get

Get · 2–3 arguments · returns any

Get nested value by path

ParameterTypeDescription
objobjectThe object
pathstringDot-separated path (e.g., "user.name")
defaultanyDefault if path not found
(object/get "@user" "profile.name" "Anonymous")

object/set

Set · 3 arguments · returns any

Set nested value by path (returns new object)

ParameterTypeDescription
objobjectThe object
pathstringDot-separated path
valueanyValue to set
(object/set "@user" "profile.name" "John")

object/has

Has · 2 arguments · returns boolean

Check if path exists

ParameterTypeDescription
objobjectThe object
pathstringDot-separated path
(object/has "@user" "profile.name")

object/merge

Merge · 2 or more · returns any

Shallow merge objects (later wins)

ParameterTypeDescription
...objsobject[]Objects to merge
(object/merge {"a": 1} {"b": 2}) // => {"a": 1, "b": 2}

object/deepMerge

Deep Merge · 2 or more · returns any

Deep merge objects (later wins)

ParameterTypeDescription
...objsobject[]Objects to merge
(object/deepMerge {"a": {"b": 1}} {"a": {"c": 2}})

object/pick

Pick · 2 arguments · returns any

Select only specified keys

ParameterTypeDescription
objobjectThe object
keysarrayKeys to keep
(object/pick "@entity" (name "email"))

object/omit

Omit · 2 arguments · returns any

Exclude specified keys

ParameterTypeDescription
objobjectThe object
keysarrayKeys to exclude
(object/omit "@entity" (password "secret"))

object/mapValues

Map Values · 2 arguments · returns any

Transform all values

ParameterTypeDescription
objobjectThe object
fnlambdaTransform function
(object/mapValues "@stats" (fn "v" (* "@v" 100)))

object/mapKeys

Map Keys · 2 arguments · returns any

Transform all keys

ParameterTypeDescription
objobjectThe object
fnlambdaTransform function
(object/mapKeys "@data" (fn "k" (str/upper "@k")))

object/filter

Filter · 2 arguments · returns any

Filter entries by predicate

ParameterTypeDescription
objobjectThe object
predlambdaPredicate (key, value) => boolean
(object/filter "@data" (fn (k "v") (!= "@v" null)))

object/empty?

Empty? · 1 argument · returns boolean

Check if object has no keys

ParameterTypeDescription
objobjectThe object
(object/empty? {}) // => true

object/equals

Equals · 2 arguments · returns boolean

Deep equality check

ParameterTypeDescription
aobjectFirst object
bobjectSecond object
(object/equals {"a": 1} {"a": 1}) // => true

object/clone

Clone · 1 argument · returns any

Shallow clone object

ParameterTypeDescription
objobjectThe object
(object/clone "@entity")

object/deepClone

Deep Clone · 1 argument · returns any

Deep clone object

ParameterTypeDescription
objobjectThe object
(object/deepClone "@entity")