feathers-nedb
Version:
Feathers NeDB Service
49 lines (48 loc) • 2.48 kB
TypeScript
import { AdapterBase, AdapterParams, AdapterQuery, AdapterServiceOptions, PaginationOptions } from "@feathersjs/adapter-commons";
import { Id, NullableId, Paginated } from "@feathersjs/feathers";
import NeDB from "@seald-io/nedb";
export interface NeDBAdapterOptions extends AdapterServiceOptions {
Model: NeDB;
}
export interface NeDBAdapterParams<Q = AdapterQuery> extends AdapterParams<Q, Partial<NeDBAdapterOptions>> {
nedb?: {
upsert: boolean;
};
}
export declare class NeDbAdapter<Result extends Record<string, any>, Data extends Record<string, any> = Partial<Result>, ServiceParams extends NeDBAdapterParams<any> = NeDBAdapterParams, PatchData = Partial<Data>> extends AdapterBase<Result, Data, PatchData, ServiceParams, NeDBAdapterOptions> {
constructor(options: NeDBAdapterOptions);
getSelect(select: string[]): any;
filterQuery(id: NullableId, params: ServiceParams): {
filters: {
$select: string[];
$sort: {
[key: string]: 1 | -1;
};
$limit: number;
$skip: number;
};
query: {
[key: string]: any;
};
};
_findOrGet(id: NullableId, params: ServiceParams): Promise<Result | Paginated<Result> | Result[]>;
normalizeId<D>(id: NullableId, data: D): D;
_find(params?: ServiceParams & {
paginate?: PaginationOptions;
}): Promise<Paginated<Result>>;
_find(params?: ServiceParams & {
paginate: false;
}): Promise<Result[]>;
_find(params?: ServiceParams): Promise<Paginated<Result> | Result[]>;
_get(id: NullableId, params?: ServiceParams): Promise<Result>;
_create(data: Data, params?: ServiceParams): Promise<Result>;
_create(data: Data[], params?: ServiceParams): Promise<Result[]>;
_create(data: Data | 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[]>;
}