Scratch space for learning atproto app development
1import { Jwk, jwkValidator } from '@atproto/jwk'
2import { makeValidator } from 'envalid'
3import { z } from 'zod'
4
5export type PrivateKey = Jwk & { kid: string }
6
7const privateKeySchema = z.intersection(
8 jwkValidator,
9 z.object({ kid: z.string().nonempty() })
10) satisfies z.ZodType<PrivateKey>
11
12const privateKeysSchema = z.array(privateKeySchema).nonempty()
13
14export const privateKeys = makeValidator((input) => {
15 const value = JSON.parse(input)
16 return privateKeysSchema.parse(value)
17})