object-functions.md

March 27, 2026 ยท View on GitHub

Scope

Object filter functions available through the core query engine.

Source of truth: src/packages/core/src/query-engine/functions/object-functions.ts

Function List (11)

FunctionSignatureDescriptionExample
keyskeys(objectValue)Object keys.{a:1,b:2} | keys -> ["a","b"]
valuesvalues(objectValue)Object values.{a:1,b:2} | values -> [1,2]
entriesentries(objectValue)[key, value] entries.{a:1} | entries -> [["a",1]]
hashas(objectValue, key)Property existence.{a:1} | has("a") -> true
getget(objectValue, path, defaultValue?)Dot-path lookup with fallback.{a:{b:1}} | get("a.b") -> 1
mergemerge(objectValue, ...objects)Shallow merge.{a:1} | merge({b:2}) -> {a:1,b:2}
pickpick(objectValue, keys)Keep only selected keys.{a:1,b:2} | pick(["a"]) -> {a:1}
omitomit(objectValue, keys)Remove selected keys.{a:1,b:2} | omit(["b"]) -> {a:1}
lengthlength(objectValue)Number of object keys.{a:1,b:2} | length -> 2
assignassign(objectValue, source)Object.assign-style merge.{a:1} | assign({b:2}) -> {a:1,b:2}
isEmptyisEmpty(value)Empty check for object/array.{} | isEmpty -> true

Notes

  • get supports dot notation paths (for example "a.b.c").
  • pick and omit require an array of keys.
  • isEmpty treats non-object values as empty and arrays by length.