@algochad/prisma-core
Version:
A comprehensive NestJS library that provides EF-Core-like operations using Prisma and GraphQL. Features LINQ-style query builders, advanced data manipulation, GraphQL integration with genql, and a unified API for both Prisma and GraphQL operations. Includ
38 lines (37 loc) • 2.74 kB
TypeScript
import { IAsyncEnumerable, IEnumerable, IList, IOrderedAsyncEnumerable } from './interfaces';
export declare class AsyncEnumerable<T> implements IAsyncEnumerable<T> {
private _linqAsyncEnumerable;
constructor(items: Iterable<T>);
static fromArray<T>(items: readonly T[]): IAsyncEnumerable<T>;
static from<T>(generator: () => AsyncIterableIterator<T>): IAsyncEnumerable<T>;
[Symbol.asyncIterator](): AsyncIterator<T>;
ToArrayAsync(): Promise<T[]>;
ToArray(): T[];
ToListAsync(): Promise<IList<T>>;
CountAsync(predicate?: (item: T) => Promise<boolean> | boolean): Promise<number>;
FirstAsync(predicate?: (item: T) => Promise<boolean> | boolean): Promise<T>;
FirstOrDefaultAsync(predicate?: (item: T) => Promise<boolean> | boolean, defaultValue?: T): Promise<T | undefined>;
LastAsync(predicate?: (item: T) => Promise<boolean> | boolean): Promise<T>;
LastOrDefaultAsync(predicate?: (item: T) => Promise<boolean> | boolean, defaultValue?: T): Promise<T | undefined>;
SingleAsync(predicate?: (item: T) => Promise<boolean> | boolean): Promise<T>;
SingleOrDefaultAsync(predicate?: (item: T) => Promise<boolean> | boolean, defaultValue?: T): Promise<T | undefined>;
Where(predicate: (item: T, index?: number) => Promise<boolean> | boolean): IAsyncEnumerable<T>;
Select<TResult>(selector: (item: T, index?: number) => Promise<TResult> | TResult): IAsyncEnumerable<TResult>;
SelectMany<TResult>(selector: (item: T) => IAsyncEnumerable<TResult> | IEnumerable<TResult>): IAsyncEnumerable<TResult>;
OrderBy<TKey>(keySelector: (item: T) => TKey): IOrderedAsyncEnumerable<T>;
OrderByDescending<TKey>(keySelector: (item: T) => TKey): IOrderedAsyncEnumerable<T>;
Distinct<TKey = T>(keySelector?: (item: T) => TKey): IAsyncEnumerable<T>;
Take(count: number): IAsyncEnumerable<T>;
Skip(count: number): IAsyncEnumerable<T>;
TakeWhile(predicate: (item: T) => Promise<boolean> | boolean): IAsyncEnumerable<T>;
SkipWhile(predicate: (item: T) => Promise<boolean> | boolean): IAsyncEnumerable<T>;
AggregateAsync<TAccumulate>(seed: TAccumulate, func: (accumulate: TAccumulate, item: T) => Promise<TAccumulate> | TAccumulate): Promise<TAccumulate>;
SumAsync(selector?: (item: T) => number): Promise<number>;
AverageAsync(selector?: (item: T) => number): Promise<number>;
MinAsync(selector?: (item: T) => number): Promise<number>;
MaxAsync(selector?: (item: T) => number): Promise<number>;
AnyAsync(predicate?: (item: T) => Promise<boolean> | boolean): Promise<boolean>;
AllAsync(predicate: (item: T) => Promise<boolean> | boolean): Promise<boolean>;
ContainsAsync(item: T): Promise<boolean>;
ToEnumerable(): Promise<IEnumerable<T>>;
}