16 lines
614 B
TypeScript
16 lines
614 B
TypeScript
import { MessageContext } from "vk-io";
|
|
|
|
type MaybePromise<T> = T | Promise<T>;
|
|
type Predicate<C extends MessageContext> = (ctx: C) => MaybePromise<boolean>;
|
|
|
|
export const not = <C extends MessageContext>(predicate: Predicate<C>) => (ctx: C) =>
|
|
Promise.resolve(predicate(ctx)).then((v) => !v);
|
|
|
|
export const is = <C extends MessageContext>(predicate: Predicate<C>) => (ctx: C) =>
|
|
Promise.resolve(predicate(ctx)).then((v) => v);
|
|
|
|
export const isChat = <C extends MessageContext>(ctx: C) =>
|
|
ctx.isChat === true;
|
|
|
|
export const isHasText = <C extends MessageContext>(ctx: C) =>
|
|
ctx.text ? true : false; |