dynamic-record
Version:
A bare minimum Javascript implementation of the Active Record pattern
26 lines (25 loc) • 1.1 kB
TypeScript
import { Model as ModelBase, DynamicRecord as DRBase } from "../DynamicRecord";
import { DynamicCollection } from "./DynamicCollection";
import { DynamicSchema } from "./DynamicSchema";
import { QueryOptions } from "../interfaces/DynamicRecord";
import { DRConnection } from "../interfaces/connection";
export declare class DynamicRecord<DataObject extends {
_id?: string;
}> extends DRBase<DataObject> {
schema: Promise<DynamicSchema>;
private _databaseConnection;
private _ready;
private _db;
private _client;
private _schemaValidator;
constructor(options: {
tableSlug: string;
connection: DRConnection;
});
closeConnection(): Promise<void>;
findBy(query: object): Promise<ModelBase<DataObject>>;
where(query: object, options?: QueryOptions): Promise<DynamicCollection<DataObject>>;
all(): Promise<DynamicCollection<DataObject>>;
first(options?: QueryOptions): Promise<ModelBase<DataObject> | DynamicCollection<DataObject>>;
last(options?: QueryOptions): Promise<ModelBase<DataObject> | DynamicCollection<DataObject>>;
}