exhal v4.12.1 ExHal.Link

A Link is a directed reference from one resource to another resource. They are found in the _links and _embedded sections of a HAL document

Summary

Functions

Expands “curie”d link rels using the namespaces found in the curies link

Build new link struct from embedded doc

Build new link struct from _links entry

Returns target url, expanded with vars if any are provided

Returns target url, expanded with vars if any are provided

Returns a map that matches the shape of the intended JSON output

Functions

embedded?(link)
expand_curie(link, namespaces)

Expands “curie”d link rels using the namespaces found in the curies link.

Returns [%Link{}, ...] a link struct for each possible variation of the input link

from_embedded(rel, embedded_doc)

Build new link struct from embedded doc.

target_url(a_link, vars \\ %{})

Returns target url, expanded with vars if any are provided.

Returns {:ok, "fully_qualified_url"}

      `:error` if link target is anonymous
target_url!(a_link, vars \\ %{})

Returns target url, expanded with vars if any are provided.

Returns "fully_qualified_url" or raises exception

to_json_hash(link)

Deprecated See to_json_map/1

to_json_map(link)

Returns a map that matches the shape of the intended JSON output.