vulcain-corejs
Version:
Vulcain micro-service framework
53 lines (52 loc) • 1.57 kB
TypeScript
import { IProvider, ListOptions } from "../provider";
import { Schema } from "../../schemas/schema";
/**
* Default memory provider
*/
export declare class MemoryProvider implements IProvider<any> {
private dataFolder;
private state;
readonly address: string;
/**
* Create a memory provider instance.
* @param dataFolder : (optional) if provided, data will be persisted on disk on EVERY create, update or delete
*/
constructor(dataFolder?: string);
initializeTenantAsync(tenant: string): Promise<() => void>;
private ensureSchema(schema);
private save(schema);
static clone(obj: any): any;
/**
* Return a list of entities
* @param options
* @returns {Promise}
*/
getAllAsync(schema: Schema, options: ListOptions): Promise<Array<any>>;
take(schema: Schema, list: any, options: ListOptions): IterableIterator<any>;
findOneAsync(schema: Schema, query: any): Promise<any>;
/**
* Read an entity
* @param name
* @returns {Promise}
*/
getAsync(schema: Schema, name: string): Promise<{}>;
/**
* Delete an entity
* @param id
* @returns {Promise}
*/
deleteAsync(schema: Schema, old: string | any): Promise<{}>;
/**
* Persist an entity
* @param entity
* @returns {Promise}
*/
createAsync(schema: Schema, entity: any): Promise<{}>;
/**
* Update an entity
* @param entity
* @param old
* @returns {Promise<T>}
*/
updateAsync(schema: Schema, entity: any, old: any): Promise<{}>;
}