From 7c0681a06e0358887d2f64001dc43125554766c9 Mon Sep 17 00:00:00 2001 From: polwex Date: Thu, 28 Aug 2025 12:59:01 +0700 Subject: init --- desk/lib/shim.hoon | 53 +++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 53 insertions(+) create mode 100644 desk/lib/shim.hoon (limited to 'desk/lib/shim.hoon') diff --git a/desk/lib/shim.hoon b/desk/lib/shim.hoon new file mode 100644 index 0000000..ad07685 --- /dev/null +++ b/desk/lib/shim.hoon @@ -0,0 +1,53 @@ +/- sur=nostril +/+ sr=sortug +/= router /web/router +|% +++ handle + |= [eyre-id=@ta req=inbound-request:eyre] + ^- (unit event:sur) + ?~ body.request.req ~ + =/ ures (de:json:html q.u.body.request.req) + ?~ ures ~ + =/ event (event:dejs u.ures) + :: TODO log on failure or something + `event + + +++ dejs +=, dejs:format +|% +++ event + |= jon=json + ^- event:sur + %. jon + %- ot :~ + id+de-hex + pubkey+de-hex + ['created_at' ni] + kind+ni + tags+de-tags + content+so + sig+de-hex + == +++ de-hex |= jon=json ^- @ux + ?> ?=(%s -.jon) + =/ atom=(unit @) (slaw:sr %ux p.jon) + ?~ atom !! + u.atom +:: +++ de-tags |= jon=json ^- (list tag:sur) + ?> ?=(%a -.jon) %+ turn p.jon de-tag +++ de-tag |= j=json ^- tag:sur + ?> ?=(%a -.j) + =/ l=(list json) p.j + =/ key (@t ->.l) + =/ value (@t +<+.l) + =/ rest ;; (list @t) %+ turn ((list json) +>.l) |= aj=json (@t +.aj) + + [key value rest] + + + -- + +-- + -- cgit v1.2.3