rollun-ts-datastore
Version:
rollun-datastore written in TS
21 lines (20 loc) • 778 B
TypeScript
import { DataStoreInterface } from './interfaces';
import { Query } from 'rollun-ts-rql';
import LocalDataClient from '../clients/LocalDataClient';
export interface LocalDataStoreOptions<T> {
idField?: string;
initialData?: Array<T>;
}
export default class LocalDatastore<T = any> implements DataStoreInterface<T> {
readonly identifier: string;
readonly client: LocalDataClient<T>;
constructor(options?: LocalDataStoreOptions<T>);
count(): Promise<number>;
create(item: T): Promise<T>;
delete(id: string | number): Promise<T>;
has(id: string | number): Promise<boolean>;
query<U = T>(query?: Query): Promise<Array<U>>;
read(id: string | number): Promise<T>;
update<U = T>(item: T): Promise<T>;
rewrite(item: T): Promise<T>;
}