Liking cljdoc? Tell your friends :D
All platforms.

synthigy.client.selection

Selection normalization for the Synthigy client.

Converts user-friendly selection shorthand into the wire format expected by the /data endpoint.

Selection normalization for the Synthigy client.

Converts user-friendly selection shorthand into the wire format
expected by the /data endpoint.
raw docstring

normalizeclj/s

(normalize selection)

Normalize a user-friendly selection into /data wire format.

Normalizes keys to snake_case (kebab-case and camelCase accepted).

Supports shorthand syntax:

  • nil / true → nil (include field)
  • [:name :email] → {:name nil :email nil}
  • {:roles {:name nil}} → {:roles [{:selections {:name nil}}]}
  • {:roles [:name]} → {:roles [{:selections {:name nil}}]}
  • [:name {:roles [:name]} :active] → mixed vectors
  • {:roles {:selections {:name nil} :args {...}}} → wraps in vector

Existing internal format [{:selections {...}}] passes through unchanged.

Join semantics are the SERVER's: absent _join is LEFT (a selection is a projection and never drops parents; relation args filter the related rows). The client injects nothing — pass {:_join :inner} explicitly when the relation's existence should scope its parent.

Normalize a user-friendly selection into /data wire format.

Normalizes keys to snake_case (kebab-case and camelCase accepted).

Supports shorthand syntax:
- nil / true              → nil (include field)
- [:name :email]          → {:name nil :email nil}
- {:roles {:name nil}}    → {:roles [{:selections {:name nil}}]}
- {:roles [:name]}        → {:roles [{:selections {:name nil}}]}
- [:name {:roles [:name]} :active] → mixed vectors
- {:roles {:selections {:name nil} :args {...}}} → wraps in vector

Existing internal format [{:selections {...}}] passes through unchanged.

Join semantics are the SERVER's: absent `_join` is LEFT (a selection is
a projection and never drops parents; relation args filter the related
rows). The client injects nothing — pass `{:_join :inner}` explicitly
when the relation's existence should scope its parent.
sourceraw docstring

cljdoc builds & hosts documentation for Clojure/Script libraries

Keyboard shortcuts
Ctrl+kJump to recent docs
Move to previous article
Move to next article
Ctrl+/Jump to the search field
× close