迁移类型校验到zod

This commit is contained in:
手瓜一十雪
2025-04-13 20:05:11 +08:00
parent d4ab191f34
commit 2147c4ffee
101 changed files with 951 additions and 945 deletions

View File

@@ -1,22 +1,21 @@
import { ConfigBase } from '@/common/config-base';
import { NapCatCore } from '@/core';
import { Type, Static } from '@sinclair/typebox';
import { AnySchema } from 'ajv';
import { z } from 'zod';
export const NapcatConfigSchema = Type.Object({
fileLog: Type.Boolean({ default: false }),
consoleLog: Type.Boolean({ default: true }),
fileLogLevel: Type.String({ default: 'debug' }),
consoleLogLevel: Type.String({ default: 'info' }),
packetBackend: Type.String({ default: 'auto' }),
packetServer: Type.String({ default: '' }),
o3HookMode: Type.Number({ default: 0 }),
export const NapcatConfigSchema = z.object({
fileLog: z.boolean().default(false),
consoleLog: z.boolean().default(true),
fileLogLevel: z.string().default('debug'),
consoleLogLevel: z.string().default('info'),
packetBackend: z.string().default('auto'),
packetServer: z.string().default(''),
o3HookMode: z.number().default(0),
});
export type NapcatConfig = Static<typeof NapcatConfigSchema>;
export type NapcatConfig = z.infer<typeof NapcatConfigSchema>;
export class NapCatConfigLoader extends ConfigBase<NapcatConfig> {
constructor(core: NapCatCore, configPath: string, schema: AnySchema) {
constructor(core: NapCatCore, configPath: string, schema: z.ZodType<any>) {
super('napcat', core, configPath, schema);
}
}
}