UNPKG

@atproto/api

Version:

Client library for atproto and Bluesky

35 lines 1.14 kB
import { ModerationDecision } from '../decision.js'; export function decideAccount(subject, opts) { const acc = new ModerationDecision(); acc.setDid(subject.did); acc.setIsMe(subject.did === opts.userDid); if (subject.viewer?.muted) { if (subject.viewer?.mutedByList) { acc.addMutedByList(subject.viewer?.mutedByList); } else { acc.addMuted(subject.viewer?.muted); } } if (subject.viewer?.blocking) { if (subject.viewer?.blockingByList) { acc.addBlockingByList(subject.viewer?.blockingByList); } else { acc.addBlocking(subject.viewer?.blocking); } } acc.addBlockedBy(subject.viewer?.blockedBy); for (const label of filterAccountLabels(subject.labels)) { acc.addLabel('account', label, opts); } return acc; } export function filterAccountLabels(labels) { if (!labels) { return []; } return labels.filter((label) => !label.uri.endsWith('/app.bsky.actor.profile/self') || label.val === '!no-unauthenticated'); } //# sourceMappingURL=account.js.map