@thisisagile/easy
Version:
Straightforward library for building domain-driven microservice architectures
20 lines (19 loc) • 863 B
TypeScript
import { FetchOptions } from '../types/Gateway';
import { Repository } from '../types/Repository';
import { PageList } from '../types/PageList';
import { Id, Key } from '../types/Id';
import { List } from '../types/List';
import { Req } from '../resources/Req';
import { JsonValue } from '../types/Json';
export declare class Search<T, Options = FetchOptions> {
protected repo: Repository<T, Options>;
constructor(repo: Repository<T, Options>);
all(options?: Options): Promise<PageList<T>>;
byId(id: Id): Promise<T>;
byIds(...ids: Id[]): Promise<List<T>>;
byKey(key: Key, options?: Options): Promise<PageList<T>>;
query({ query, skip, take }: Req): Promise<PageList<T>>;
search(query: JsonValue, options?: Options): Promise<PageList<T>>;
filter(options?: Options): Promise<PageList<T>>;
exists(id: Id): Promise<boolean>;
}