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
TypeScript
/// <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>[]>;
}