@versia/federation@0.2.1Built and signed on GitHub ActionsBuilt and signed on GitHub Actions
Built and signed on GitHub Actions
latest
versia-pub/apiFederation types, validators and cryptography for Versia server implementations.
This package works with Cloudflare Workers, Node.js, Deno, Bun, Browsers




JSR Score
52%
Published
10 months ago (0.2.1)
import { z } from "npm:zod@^3.24.1"; import { EntitySchema } from "../base.ts"; import { TextOnlyContentFormatSchema } from "../content_format.ts"; export const GroupSchema = EntitySchema.extend({ type: z.literal("pub.versia:groups/Group"), name: TextOnlyContentFormatSchema.optional().nullable(), description: TextOnlyContentFormatSchema.optional().nullable(), open: z.boolean().optional().nullable(), members: z.string().url(), notes: z.string().url().optional().nullable(), }); export const GroupSubscribeSchema = EntitySchema.extend({ type: z.literal("pub.versia:groups/Subscribe"), uri: z.null().optional(), subscriber: z.string().url(), group: z.string().url(), }); export const GroupUnsubscribeSchema = EntitySchema.extend({ type: z.literal("pub.versia:groups/Unsubscribe"), uri: z.null().optional(), subscriber: z.string().url(), group: z.string().url(), }); export const GroupSubscribeAcceptSchema = EntitySchema.extend({ type: z.literal("pub.versia:groups/SubscribeAccept"), uri: z.null().optional(), subscriber: z.string().url(), group: z.string().url(), }); export const GroupSubscribeRejectSchema = EntitySchema.extend({ type: z.literal("pub.versia:groups/SubscribeReject"), uri: z.null().optional(), subscriber: z.string().url(), group: z.string().url(), });