diff options
author | polwex <polwex@sortug.com> | 2025-09-17 15:56:00 +0700 |
---|---|---|
committer | polwex <polwex@sortug.com> | 2025-09-17 15:56:00 +0700 |
commit | f0df4c7297a05bd592d8717b8997284c80fd0500 (patch) | |
tree | 2d38e079e971a2e98e78a0f7a3104f2bd3c5daeb /desk/lib/json/nostrill.hoon | |
parent | 387af8fc1603805b02ce03f8adba4fa73a954f7c (diff) |
argh
Diffstat (limited to 'desk/lib/json/nostrill.hoon')
-rw-r--r-- | desk/lib/json/nostrill.hoon | 53 |
1 files changed, 43 insertions, 10 deletions
diff --git a/desk/lib/json/nostrill.hoon b/desk/lib/json/nostrill.hoon index 43f7708..bd34acc 100644 --- a/desk/lib/json/nostrill.hoon +++ b/desk/lib/json/nostrill.hoon @@ -6,6 +6,7 @@ |% :: UI comms ++ state |= state-0:sur ^- json + %+ frond %state %: pairs relays+(en-relays relays) key+(hex:en:common pub.i.keys) @@ -38,27 +39,60 @@ ++ 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) + =/ jkey (hex:en:common key) + ?> ?=(%s -.jkey) + :- +.jkey (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) + =/ jkey (hex:en:common key) + ?> ?=(%s -.jkey) + :- +.jkey (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 - == + =/ jkey (hex:en:common key) + ?> ?=(%s -.jkey) + :- +.jkey + :- %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 + == + + :: ui facts + ++ fact |= f=fact:ui:sur ^- json + %+ frond %fact + %+ frond -.f + ?- -.f + %post (postfact +.f) + %enga (enga +.f) + == + ++ postfact |= pf=post-fact:ui:sur ^- json + %+ frond -.pf + (post-wrapper +.pf) + ++ enga |= [pw=post-wrapper:sur reaction=*] + ^- json + ~ + ++ post-wrapper |= p=post-wrapper:sur + %- pairs + :~ post+(poast:en:trill post.p) + ['nostrMeta' (nostr-meta nostr-meta.p)] + == + ++ nostr-meta |= p=nostr-meta:sur + =| l=(list [@t json]) + =. l ?~ pub.p l :_ l ['pubkey' (hex:en:common u.pub.p)] + =. l ?~ ev-id.p l :_ l ['eventId' (hex:en:common u.ev-id.p)] + =. l ?~ relay.p l :_ l ['relay' %s u.relay.p] + =. l ?~ pr.p l :_ l ['profile' (user-meta:en:nostr u.pr.p)] + %- pairs l -- ++ de =, dejs-soft:format @@ -94,7 +128,6 @@ == ++ de-post %- ot :~ - pubkey+hex:de:common content+so == ++ de-rt |