447 lines
15 KiB
JavaScript
447 lines
15 KiB
JavaScript
import { valid } from "semver";
|
|
import { z } from "zod";
|
|
|
|
const sha = z.string().regex(/^[a-f0-9]{40}$/u);
|
|
const actor = z.object({
|
|
login: z.string().regex(/^[A-Za-z0-9][A-Za-z0-9-]*(?:\[bot\])?$/u),
|
|
__typename: z.string(),
|
|
});
|
|
const author = z.object({
|
|
name: z.string(),
|
|
email: z.string(),
|
|
user: actor.nullable(),
|
|
});
|
|
const commit = z.object({
|