claire-framework
Version:
- được viết bằng TypeScript - hỗ trợ websocket và HTTP request - hỗ trợ CLI để generate base project (claire-cli)
52 lines • 2.04 kB
TypeScript
import { AbstractDatabaseAdapter } from "../database/AbstractDatabaseAdapter";
import { AbstractModel } from "../model/AbstractModel";
import { IQuery, QueryCondition, SubKeySet } from "../model/IQuery";
import { ITransaction } from "../model/ITransaction";
import { ModelMetadata } from "../model/ModelMetadata";
import { AbstractQuery } from "../model/AbstractQuery";
export declare class InMemoryAdapter<T> extends AbstractQuery<T> {
private autoPrimaryKey;
private readonly model;
private readonly schema;
constructor(model: {
new (...args: any[]): T;
}, modelMetadata: ModelMetadata, schema: {
modelConnection: any;
});
private insert;
private multipleSort;
deleteMany(queries: QueryCondition<T>[]): Promise<number>;
deleteOne(modelInstance: T): Promise<T>;
private getObjectsFromFilters;
getMany(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
limit?: number;
page?: number;
}): Promise<T[]>;
getOne(queries?: QueryCondition<T>[], options?: {
order?: {
[key in SubKeySet<T>]?: "desc" | "asc";
};
projection?: SubKeySet<T>[];
}): Promise<T | undefined>;
rawQuery(query: any): Promise<any>;
saveMany(modelInstances: Partial<T>[]): Promise<T[]>;
saveOne(modelInstance: Partial<T>): Promise<T>;
updateMany(queries: QueryCondition<T>[], update: Partial<T>): Promise<number>;
updateOne(modelInstance: T): Promise<T>;
protected getQueryObjectFromQueryConditions(queries: QueryCondition<T>[]): {
(records: any[]): any[];
}[][];
}
export declare class DefaultInMemoryDatabaseAdapter extends AbstractDatabaseAdapter {
private modelAdapters;
constructor();
use<T extends AbstractModel>(model: {
new (...args: any[]): T;
}): IQuery<T>;
createTransaction(): Promise<ITransaction>;
}
//# sourceMappingURL=DefaultInMemoryDatabaseAdapter.d.ts.map