3
0
Fork 0
mirror of https://github.com/ZeppelinBot/Zeppelin.git synced 2025-05-14 13:55:03 +00:00

refactor: replace io-ts with zod

This commit is contained in:
Dragory 2024-01-14 14:25:42 +00:00
parent fafaefa1fb
commit 28692962bc
No known key found for this signature in database
161 changed files with 1450 additions and 2105 deletions

View file

@ -1,10 +1,10 @@
import { PluginOptions } from "knub";
import { hasPhishermanMasterAPIKey, phishermanApiKeyIsValid } from "../../data/Phisherman";
import { makeIoTsConfigParser, mapToPublicFn } from "../../pluginUtils";
import { mapToPublicFn } from "../../pluginUtils";
import { zeppelinGuildPlugin } from "../ZeppelinPluginBlueprint";
import { getDomainInfo } from "./functions/getDomainInfo";
import { pluginInfo } from "./info";
import { ConfigSchema, PhishermanPluginType } from "./types";
import { PhishermanPluginType, zPhishermanConfig } from "./types";
const defaultOptions: PluginOptions<PhishermanPluginType> = {
config: {
@ -18,7 +18,7 @@ export const PhishermanPlugin = zeppelinGuildPlugin<PhishermanPluginType>()({
showInDocs: true,
info: pluginInfo,
configParser: makeIoTsConfigParser(ConfigSchema),
configParser: (input) => zPhishermanConfig.parse(input),
defaultOptions,
// prettier-ignore

View file

@ -1,6 +1,6 @@
import { trimPluginDescription } from "../../utils";
import { ZeppelinGuildPluginBlueprint } from "../ZeppelinPluginBlueprint";
import { ConfigSchema } from "./types";
import { zPhishermanConfig } from "./types";
export const pluginInfo: ZeppelinGuildPluginBlueprint["info"] = {
prettyName: "Phisherman",
@ -39,5 +39,5 @@ export const pluginInfo: ZeppelinGuildPluginBlueprint["info"] = {
clean: true
~~~
`),
configSchema: ConfigSchema,
configSchema: zPhishermanConfig,
};

View file

@ -1,14 +1,12 @@
import * as t from "io-ts";
import { BasePluginType } from "knub";
import { tNullable } from "../../utils";
import z from "zod";
export const ConfigSchema = t.type({
api_key: tNullable(t.string),
export const zPhishermanConfig = z.strictObject({
api_key: z.string().max(255).nullable(),
});
export type TConfigSchema = t.TypeOf<typeof ConfigSchema>;
export interface PhishermanPluginType extends BasePluginType {
config: TConfigSchema;
config: z.infer<typeof zPhishermanConfig>;
state: {
validApiKey: string | null;