UNPKG

db-discord

Version:

db-discord is a library that uses discord guilds and text channels as databases. db-discord relies on discord.js

27 lines (26 loc) 992 B
/// <reference types="node" /> import * as Discord from "db-discord-discord.js"; import { EventEmitter } from "events"; import { TableType } from "./db-discord"; import { KeyPairValue, Regexify } from "./utilities"; export interface SearchArguments<T> { searchTerm?: string; searchObject?: Partial<T>; regexChecker?: Partial<Regexify<T>>; callback?: (obj: T) => boolean; } export declare interface Table<T> { on(event: "write", listener: (obj: T) => void): this; emit(event: "write", args: T): boolean; } export declare abstract class Table<T> extends EventEmitter { abstract type: TableType; name: string; id: string; protected channel: Discord.TextChannel; constructor(channel: Discord.TextChannel); abstract write(obj: T): Promise<string>; abstract get(id: string): Promise<T>; delete(id: string): Promise<{}>; abstract search(searchArguments: SearchArguments<T>): Promise<KeyPairValue<string, T>[]>; }