Liking cljdoc? Tell your friends :D

monero-store.boundary.identity

Who is asking — as a seam, not a decision.

This store never authenticates anyone. A deployment already has an identity system: OIDC, a session cookie, an API key, a signed header from a gateway. It supplies an identify-fn of the request that yields {:customer/ref :customer/email} or nil, and the boundary upserts a customer from that.

Two implementations ship: one for a demo and one for machine clients. Neither is an authentication system, and both say so.

Who is asking — as a seam, not a decision.

This store never authenticates anyone. A deployment already has an identity
system: OIDC, a session cookie, an API key, a signed header from a gateway.
It supplies an `identify-fn` of the request that yields
{:customer/ref :customer/email} or nil, and the boundary upserts a customer
from that.

Two implementations ship: one for a demo and one for machine clients. Neither
is an authentication system, and both say so.
raw docstring

monero-store.boundary.routes

The HTTP surface.

Thin on purpose: a handler resolves who is asking, calls one pipeline operation, and projects the result through wire. Every decision worth testing lives below this namespace, where it can be tested without a request.

The HTTP surface.

Thin on purpose: a handler resolves who is asking, calls one pipeline
operation, and projects the result through `wire`. Every decision worth
testing lives below this namespace, where it can be tested without a
request.
raw docstring

monero-store.boundary.shell

The SPA shell — as DATA, not as a file with holes in it.

The document is hiccup, so writing an experiment assignment into it is merge on an attribute map. An earlier version of this namespace kept the shell as HTML and spliced attributes in with a regex; it rewrote a COMMENT that happened to mention <html>, and the assignment silently never reached the browser. That class of bug does not exist here: a map has no second place to put a key.

Setting the arm server-side is what makes an experiment free — the stylesheet already contains every arm, so the first paint is the assigned design, with no script, no round trip, and no flash of the losing variant.

The SPA shell — as DATA, not as a file with holes in it.

The document is hiccup, so writing an experiment assignment into it is
`merge` on an attribute map. An earlier version of this namespace kept the
shell as HTML and spliced attributes in with a regex; it rewrote a COMMENT
that happened to mention `<html>`, and the assignment silently never reached
the browser. That class of bug does not exist here: a map has no second place
to put a key.

Setting the arm server-side is what makes an experiment free — the stylesheet
already contains every arm, so the first paint is the assigned design, with
no script, no round trip, and no flash of the losing variant.
raw docstring

monero-store.boundary.wire

Domain values as wire shapes.

One namespace decides what leaves the process. Everything here is a projection: keys are renamed and amounts are rendered for display, and anything the customer has no business seeing simply has no clause.

Domain values as wire shapes.

One namespace decides what leaves the process. Everything here is a
projection: keys are renamed and amounts are rendered for display, and
anything the customer has no business seeing simply has no clause.
raw 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