@feathersjs/memory
Version:
An in memory service store
65 lines (64 loc) • 3.5 kB
TypeScript
import { AdapterBase, AdapterServiceOptions, PaginationOptions, AdapterParams } from '@feathersjs/adapter-commons';
import { NullableId, Id, Params, Paginated } from '@feathersjs/feathers';
export interface MemoryServiceStore<T> {
[key: string]: T;
}
export interface MemoryServiceOptions<T = any> extends AdapterServiceOptions {
store?: MemoryServiceStore<T>;
startId?: number;
matcher?: (query: any) => any;
sorter?: (sort: any) => any;
}
export declare class MemoryAdapter<Result = any, Data = Partial<Result>, ServiceParams extends Params = Params, PatchData = Partial<Data>> extends AdapterBase<Result, Data, PatchData, ServiceParams, MemoryServiceOptions<Result>> {
store: MemoryServiceStore<Result>;
_uId: number;
constructor(options?: MemoryServiceOptions<Result>);
getEntries(_params?: ServiceParams): Promise<Result[]>;
getQuery(params: ServiceParams): {
query: {
[key: string]: any;
};
filters: {
$skip: any;
$sort: any;
$limit: any;
$select: any;
};
};
_find(_params?: ServiceParams & {
paginate?: PaginationOptions;
}): Promise<Paginated<Result>>;
_find(_params?: ServiceParams & {
paginate: false;
}): Promise<Result[]>;
_find(_params?: ServiceParams): Promise<Paginated<Result> | Result[]>;
_get(id: Id, params?: ServiceParams): Promise<Result>;
_create(data: Partial<Data>, params?: ServiceParams): Promise<Result>;
_create(data: Partial<Data>[], params?: ServiceParams): Promise<Result[]>;
_create(data: Partial<Data> | Partial<Data>[], _params?: ServiceParams): Promise<Result | Result[]>;
_update(id: Id, data: Data, params?: ServiceParams): Promise<Result>;
_patch(id: null, data: PatchData | Partial<Result>, params?: ServiceParams): Promise<Result[]>;
_patch(id: Id, data: PatchData | Partial<Result>, params?: ServiceParams): Promise<Result>;
_patch(id: NullableId, data: PatchData | Partial<Result>, _params?: ServiceParams): Promise<Result | Result[]>;
_remove(id: null, params?: ServiceParams): Promise<Result[]>;
_remove(id: Id, params?: ServiceParams): Promise<Result>;
_remove(id: NullableId, _params?: ServiceParams): Promise<Result | Result[]>;
}
export declare class MemoryService<Result = any, Data = Partial<Result>, ServiceParams extends AdapterParams = AdapterParams, PatchData = Partial<Data>> extends MemoryAdapter<Result, Data, ServiceParams, PatchData> {
find(params?: ServiceParams & {
paginate?: PaginationOptions;
}): Promise<Paginated<Result>>;
find(params?: ServiceParams & {
paginate: false;
}): Promise<Result[]>;
find(params?: ServiceParams): Promise<Paginated<Result> | Result[]>;
get(id: Id, params?: ServiceParams): Promise<Result>;
create(data: Data, params?: ServiceParams): Promise<Result>;
create(data: Data[], params?: ServiceParams): Promise<Result[]>;
update(id: Id, data: Data, params?: ServiceParams): Promise<Result>;
patch(id: Id, data: PatchData, params?: ServiceParams): Promise<Result>;
patch(id: null, data: PatchData, params?: ServiceParams): Promise<Result[]>;
remove(id: Id, params?: ServiceParams): Promise<Result>;
remove(id: null, params?: ServiceParams): Promise<Result[]>;
}
export declare function memory<T = any, D = Partial<T>, P extends Params = Params>(options?: Partial<MemoryServiceOptions<T>>): MemoryService<T, D, P, Partial<D>>;