diff options
Diffstat (limited to 'desk/lib/json/nostril.hoon')
-rw-r--r-- | desk/lib/json/nostril.hoon | 113 |
1 files changed, 113 insertions, 0 deletions
diff --git a/desk/lib/json/nostril.hoon b/desk/lib/json/nostril.hoon new file mode 100644 index 0000000..16792a9 --- /dev/null +++ b/desk/lib/json/nostril.hoon @@ -0,0 +1,113 @@ +/- sur=nostril, nsur=nostr, feed=trill-feed +/+ sr=sortug, common=json-common, trill=json-trill, nostr=json-nostr +|% +++ en +=, enjs:format +|% + :: UI comms + ++ state |= state-0:sur ^- json + %: pairs + relays+(en-relays relays) + keys+a+(turn ~(tap in ~(key by keys)) hex:en:common) + profiles+(en-profiles profiles) + feed+(feed-with-cursor:en:trill feed ~ ~) + following+(enfollowing following) + ['followGraph' (engraph follow-graph)] + ~ + == + ++ en-relays + |= r=(map @t (list event:nsur)) ^- json + %- pairs %+ turn ~(tap by r) + |= [url=@t events=(list event:nsur)] + :- url :- %a %+ turn events event:en:nostr + ++ en-profiles |= m=(map @ux user-meta:nsur) + %- pairs + %+ turn ~(tap by m) |= [key=@ux p=user-meta:nsur] + :- (crip (scow:sr %ux key)) (user-meta:en:nostr p) + + ++ enfollowing + |= m=(map @ux feed:feed) + ^- json + %- pairs %+ turn ~(tap by m) |= [key=@ux f=feed:feed] + :- (crip (scow:sr %ux key)) (feed:en:trill f) + + ++ engraph + |= m=(map @ux (set follow:sur)) + ^- json + %- pairs %+ turn ~(tap by m) |= [key=@ux s=(set follow:sur)] + :- (crip (scow:sr %ux key)) + :- %a %+ turn ~(tap in s) |= f=follow:sur + %- pairs + :~ pubkey+(hex:en:common pubkey.f) + name+s+name.f + :- %relay ?~ relay.f ~ s+u.relay.f + == + + + -- +++ de +=, dejs-soft:format +|% + :: ui +++ ui + %- of :~ + fols+ui-fols + prof+ui-prof + keys+ui-keys + post+ui-post + rela+ui-relay + == +++ ui-fols + %- of :~ + add+hex:de:common + del+hex:de:common + == +++ ui-prof + %- of :~ + add+add-prof + del+hex:de:common + == +++ add-prof %- ot :~ + pubkey+hex:de:common + meta+user-meta:de:nostr +== +++ ui-keys + %- of :~ + add+ul + del+hex:de:common + == +++ ui-post + %- of :~ + add+de-post + rt+de-rt + del+hex:de:common + == +++ de-post + %- ot :~ + pubkey+hex:de:common + content+so + == +++ de-rt + %- ot :~ + id+hex:de:common + pubkey+hex:de:common + relay+so + == +++ ui-relay + %- of :~ + send+de-relay + == +++ de-relay %- ot :~ + host+(se:de:common %p) + id+de-atom-id + relays+(ar so) + == +++ de-atom-id + |= jon=json + ?. ?=([%s @t] jon) ~ + (rush p.jon dem) + + -- + +-- + |