mirror of
https://github.com/ZeppelinBot/Zeppelin.git
synced 2025-07-07 19:17:19 +00:00
feat: update knub; update public interfaces for new knub
This commit is contained in:
parent
c2ae6d53d8
commit
c89c5ea430
15 changed files with 193 additions and 241 deletions
|
@ -10,7 +10,7 @@ import {
|
|||
PermissionsBitField,
|
||||
TextBasedChannel,
|
||||
} from "discord.js";
|
||||
import { AnyPluginData, CommandContext, ExtendedMatchParams, GuildPluginData, helpers } from "knub";
|
||||
import { AnyPluginData, BasePluginData, CommandContext, ExtendedMatchParams, GuildPluginData, helpers } from "knub";
|
||||
import { logger } from "./logger";
|
||||
import { isStaff } from "./staff";
|
||||
import { TZeppelinKnub } from "./types";
|
||||
|
@ -124,3 +124,16 @@ export function mapToPublicFn<T extends AnyFn>(inputFn: T) {
|
|||
};
|
||||
};
|
||||
}
|
||||
|
||||
type FnWithPluginData<TPluginData> = (pluginData: TPluginData, ...args: any[]) => any;
|
||||
|
||||
export function makePublicFn<TPluginData extends BasePluginData<any>, T extends FnWithPluginData<TPluginData>>(
|
||||
pluginData: TPluginData,
|
||||
fn: T,
|
||||
) {
|
||||
return (...args: Tail<Parameters<T>>): ReturnType<T> => {
|
||||
return fn(pluginData, ...args);
|
||||
};
|
||||
}
|
||||
|
||||
// ???
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue