Initial Commit

This commit is contained in:
2026-05-27 23:29:53 +01:00
commit fbc70f96e6
10000 changed files with 1102152 additions and 0 deletions

View File

@@ -0,0 +1,38 @@
import z from "zod";
export const OptionTypeSchema = z.enum([
"string",
"boolean",
"number",
"array",
]);
export const OptionConfigSchema = z.object({
type: OptionTypeSchema.optional(),
short: z.string().optional(),
description: z.string().optional(),
default: z.unknown().optional(),
required: z.boolean().optional(),
choices: z.array(z.string()).optional(),
});
export const ArgumentConfigSchema = z.object({
name: z.string(),
description: z.string().optional(),
required: z.boolean(),
variadic: z.boolean(),
default: z.unknown().optional(),
});
export const ParserConfigSchema = z.object({
options: z.record(z.string(), OptionConfigSchema).optional(),
arguments: z.array(ArgumentConfigSchema).optional(),
allowUnknown: z.boolean().optional(),
stopEarly: z.boolean().optional(),
});
export const ParsedArgsSchema = z.object({
options: z.record(z.string(), z.unknown()),
positionals: z.record(z.string(), z.unknown()),
rest: z.array(z.string()),
});