refactor: replace io-ts with zod
This commit is contained in:
parent
fafaefa1fb
commit
28692962bc
161 changed files with 1450 additions and 2105 deletions
|
@ -5,7 +5,7 @@ import { GuildCases } from "../../data/GuildCases";
|
|||
import { GuildLogs } from "../../data/GuildLogs";
|
||||
import { GuildSavedMessages } from "../../data/GuildSavedMessages";
|
||||
import { Supporters } from "../../data/Supporters";
|
||||
import { makeIoTsConfigParser, sendSuccessMessage } from "../../pluginUtils";
|
||||
import { sendSuccessMessage } from "../../pluginUtils";
|
||||
import { discardRegExpRunner, getRegExpRunner } from "../../regExpRunners";
|
||||
import { LogsPlugin } from "../Logs/LogsPlugin";
|
||||
import { ModActionsPlugin } from "../ModActions/ModActionsPlugin";
|
||||
|
@ -42,7 +42,7 @@ import { getUserInfoEmbed } from "./functions/getUserInfoEmbed";
|
|||
import { hasPermission } from "./functions/hasPermission";
|
||||
import { activeReloads } from "./guildReloads";
|
||||
import { refreshMembersIfNeeded } from "./refreshMembers";
|
||||
import { ConfigSchema, UtilityPluginType } from "./types";
|
||||
import { UtilityPluginType, zUtilityConfig } from "./types";
|
||||
|
||||
const defaultOptions: PluginOptions<UtilityPluginType> = {
|
||||
config: {
|
||||
|
@ -117,11 +117,11 @@ export const UtilityPlugin = zeppelinGuildPlugin<UtilityPluginType>()({
|
|||
showInDocs: true,
|
||||
info: {
|
||||
prettyName: "Utility",
|
||||
configSchema: ConfigSchema,
|
||||
configSchema: zUtilityConfig,
|
||||
},
|
||||
|
||||
dependencies: () => [TimeAndDatePlugin, ModActionsPlugin, LogsPlugin],
|
||||
configParser: makeIoTsConfigParser(ConfigSchema),
|
||||
configParser: (input) => zUtilityConfig.parse(input),
|
||||
defaultOptions,
|
||||
|
||||
// prettier-ignore
|
||||
|
|
|
@ -14,10 +14,9 @@ import { ArgsFromSignatureOrArray, GuildPluginData } from "knub";
|
|||
import moment from "moment-timezone";
|
||||
import { RegExpRunner, allowTimeout } from "../../RegExpRunner";
|
||||
import { getBaseUrl, sendErrorMessage } from "../../pluginUtils";
|
||||
import { MINUTES, multiSorter, renderUserUsername, sorter, trimLines } from "../../utils";
|
||||
import { InvalidRegexError, MINUTES, inputPatternToRegExp, multiSorter, renderUserUsername, sorter, trimLines } from "../../utils";
|
||||
import { asyncFilter } from "../../utils/async";
|
||||
import { hasDiscordPermissions } from "../../utils/hasDiscordPermissions";
|
||||
import { InvalidRegexError, inputPatternToRegExp } from "../../validatorUtils";
|
||||
import { banSearchSignature } from "./commands/BanSearchCmd";
|
||||
import { searchCmdSignature } from "./commands/SearchCmd";
|
||||
import { getUserInfoEmbed } from "./functions/getUserInfoEmbed";
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
import * as t from "io-ts";
|
||||
import { BasePluginType, guildPluginEventListener, guildPluginMessageCommand } from "knub";
|
||||
import z from "zod";
|
||||
import { RegExpRunner } from "../../RegExpRunner";
|
||||
import { GuildArchives } from "../../data/GuildArchives";
|
||||
import { GuildCases } from "../../data/GuildCases";
|
||||
|
@ -7,39 +7,38 @@ import { GuildLogs } from "../../data/GuildLogs";
|
|||
import { GuildSavedMessages } from "../../data/GuildSavedMessages";
|
||||
import { Supporters } from "../../data/Supporters";
|
||||
|
||||
export const ConfigSchema = t.type({
|
||||
can_roles: t.boolean,
|
||||
can_level: t.boolean,
|
||||
can_search: t.boolean,
|
||||
can_clean: t.boolean,
|
||||
can_info: t.boolean,
|
||||
can_server: t.boolean,
|
||||
can_inviteinfo: t.boolean,
|
||||
can_channelinfo: t.boolean,
|
||||
can_messageinfo: t.boolean,
|
||||
can_userinfo: t.boolean,
|
||||
can_roleinfo: t.boolean,
|
||||
can_emojiinfo: t.boolean,
|
||||
can_snowflake: t.boolean,
|
||||
can_reload_guild: t.boolean,
|
||||
can_nickname: t.boolean,
|
||||
can_ping: t.boolean,
|
||||
can_source: t.boolean,
|
||||
can_vcmove: t.boolean,
|
||||
can_vckick: t.boolean,
|
||||
can_help: t.boolean,
|
||||
can_about: t.boolean,
|
||||
can_context: t.boolean,
|
||||
can_jumbo: t.boolean,
|
||||
jumbo_size: t.Integer,
|
||||
can_avatar: t.boolean,
|
||||
info_on_single_result: t.boolean,
|
||||
autojoin_threads: t.boolean,
|
||||
export const zUtilityConfig = z.strictObject({
|
||||
can_roles: z.boolean(),
|
||||
can_level: z.boolean(),
|
||||
can_search: z.boolean(),
|
||||
can_clean: z.boolean(),
|
||||
can_info: z.boolean(),
|
||||
can_server: z.boolean(),
|
||||
can_inviteinfo: z.boolean(),
|
||||
can_channelinfo: z.boolean(),
|
||||
can_messageinfo: z.boolean(),
|
||||
can_userinfo: z.boolean(),
|
||||
can_roleinfo: z.boolean(),
|
||||
can_emojiinfo: z.boolean(),
|
||||
can_snowflake: z.boolean(),
|
||||
can_reload_guild: z.boolean(),
|
||||
can_nickname: z.boolean(),
|
||||
can_ping: z.boolean(),
|
||||
can_source: z.boolean(),
|
||||
can_vcmove: z.boolean(),
|
||||
can_vckick: z.boolean(),
|
||||
can_help: z.boolean(),
|
||||
can_about: z.boolean(),
|
||||
can_context: z.boolean(),
|
||||
can_jumbo: z.boolean(),
|
||||
jumbo_size: z.number(),
|
||||
can_avatar: z.boolean(),
|
||||
info_on_single_result: z.boolean(),
|
||||
autojoin_threads: z.boolean(),
|
||||
});
|
||||
export type TConfigSchema = t.TypeOf<typeof ConfigSchema>;
|
||||
|
||||
export interface UtilityPluginType extends BasePluginType {
|
||||
config: TConfigSchema;
|
||||
config: z.infer<typeof zUtilityConfig>;
|
||||
state: {
|
||||
logs: GuildLogs;
|
||||
cases: GuildCases;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue